Home | Trees | Indices | Help |
---|
|
1 #! /usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 # Python ctypes bindings for VLC 5 # 6 # Copyright (C) 2009-2017 the VideoLAN team 7 # $Id: $ 8 # 9 # Authors: Olivier Aubert <contact at olivieraubert.net> 10 # Jean Brouwers <MrJean1 at gmail.com> 11 # Geoff Salmon <geoff.salmon at gmail.com> 12 # 13 # This library is free software; you can redistribute it and/or modify 14 # it under the terms of the GNU Lesser General Public License as 15 # published by the Free Software Foundation; either version 2.1 of the 16 # License, or (at your option) any later version. 17 # 18 # This library is distributed in the hope that it will be useful, but 19 # WITHOUT ANY WARRANTY; without even the implied warranty of 20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 # Lesser General Public License for more details. 22 # 23 # You should have received a copy of the GNU Lesser General Public 24 # License along with this library; if not, write to the Free Software 25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA 26 27 """This module provides bindings for the LibVLC public API, see 28 U{http://wiki.videolan.org/LibVLC}. 29 30 You can find the documentation and a README file with some examples 31 at U{https://www.olivieraubert.net/vlc/python-ctypes/}. 32 33 Basically, the most important class is L{Instance}, which is used 34 to create a libvlc instance. From this instance, you then create 35 L{MediaPlayer} and L{MediaListPlayer} instances. 36 37 Alternatively, you may create instances of the L{MediaPlayer} and 38 L{MediaListPlayer} class directly and an instance of L{Instance} 39 will be implicitly created. The latter can be obtained using the 40 C{get_instance} method of L{MediaPlayer} and L{MediaListPlayer}. 41 """ 42 43 import ctypes 44 from ctypes.util import find_library 45 import os 46 import sys 47 import functools 48 49 # Used by EventManager in override.py 50 from inspect import getargspec 51 52 import logging 53 logger = logging.getLogger(__name__) 54 55 __version__ = "3.0.11115" 56 __libvlc_version__ = "3.0.11" 57 __generator_version__ = "1.15" 58 build_date = "Sat Jul 25 15:07:40 2020 3.0.11" 59 60 # The libvlc doc states that filenames are expected to be in UTF8, do 61 # not rely on sys.getfilesystemencoding() which will be confused, 62 # esp. on windows. 63 DEFAULT_ENCODING = 'utf-8' 64 65 if sys.version_info[0] > 2: 66 str = str 67 unicode = str 68 bytes = bytes 69 basestring = (str, bytes) 70 PYTHON3 = True72 """Translate string or bytes to bytes. 73 """ 74 if isinstance(s, str): 75 return bytes(s, DEFAULT_ENCODING) 76 else: 77 return s7880 """Translate bytes to string. 81 """ 82 if isinstance(b, bytes): 83 return b.decode(DEFAULT_ENCODING) 84 else: 85 return b86 else: 87 str = str 88 unicode = unicode 89 bytes = str 90 basestring = basestring 91 PYTHON3 = False93 """Translate string or bytes to bytes. 94 """ 95 if isinstance(s, unicode): 96 return s.encode(DEFAULT_ENCODING) 97 else: 98 return s99101 """Translate bytes to unicode string. 102 """ 103 if isinstance(b, str): 104 return unicode(b, DEFAULT_ENCODING) 105 else: 106 return b107 108 # Internal guard to prevent internal classes to be directly 109 # instanciated. 110 _internal_guard = object()113 dll = None 114 plugin_path = os.environ.get('PYTHON_VLC_MODULE_PATH', None) 115 if 'PYTHON_VLC_LIB_PATH' in os.environ: 116 try: 117 dll = ctypes.CDLL(os.environ['PYTHON_VLC_LIB_PATH']) 118 except OSError: 119 logger.error("Cannot load lib specified by PYTHON_VLC_LIB_PATH env. variable") 120 sys.exit(1) 121 if plugin_path and not os.path.isdir(plugin_path): 122 logger.error("Invalid PYTHON_VLC_MODULE_PATH specified. Please fix.") 123 sys.exit(1) 124 if dll is not None: 125 return dll, plugin_path 126 127 if sys.platform.startswith('win'): 128 libname = 'libvlc.dll' 129 p = find_library(libname) 130 if p is None: 131 try: # some registry settings 132 # leaner than win32api, win32con 133 if PYTHON3: 134 import winreg as w 135 else: 136 import _winreg as w 137 for r in w.HKEY_LOCAL_MACHINE, w.HKEY_CURRENT_USER: 138 try: 139 r = w.OpenKey(r, 'Software\\VideoLAN\\VLC') 140 plugin_path, _ = w.QueryValueEx(r, 'InstallDir') 141 w.CloseKey(r) 142 break 143 except w.error: 144 pass 145 except ImportError: # no PyWin32 146 pass 147 if plugin_path is None: 148 # try some standard locations. 149 programfiles = os.environ["ProgramFiles"] 150 homedir = os.environ["HOMEDRIVE"] 151 for p in ('{programfiles}\\VideoLan{libname}', '{homedir}:\\VideoLan{libname}', 152 '{programfiles}{libname}', '{homedir}:{libname}'): 153 p = p.format(homedir = homedir, 154 programfiles = programfiles, 155 libname = '\\VLC\\' + libname) 156 if os.path.exists(p): 157 plugin_path = os.path.dirname(p) 158 break 159 if plugin_path is not None: # try loading 160 # PyInstaller Windows fix 161 if 'PyInstallerCDLL' in ctypes.CDLL.__name__: 162 ctypes.windll.kernel32.SetDllDirectoryW(None) 163 p = os.getcwd() 164 os.chdir(plugin_path) 165 # if chdir failed, this will raise an exception 166 dll = ctypes.CDLL('.\\' + libname) 167 # restore cwd after dll has been loaded 168 os.chdir(p) 169 else: # may fail 170 dll = ctypes.CDLL('.\\' + libname) 171 else: 172 plugin_path = os.path.dirname(p) 173 dll = ctypes.CDLL(p) 174 175 elif sys.platform.startswith('darwin'): 176 # FIXME: should find a means to configure path 177 d = '/Applications/VLC.app/Contents/MacOS/' 178 c = d + 'lib/libvlccore.dylib' 179 p = d + 'lib/libvlc.dylib' 180 if os.path.exists(p) and os.path.exists(c): 181 # pre-load libvlccore VLC 2.2.8+ 182 ctypes.CDLL(c) 183 dll = ctypes.CDLL(p) 184 for p in ('modules', 'plugins'): 185 p = d + p 186 if os.path.isdir(p): 187 plugin_path = p 188 break 189 else: # hope, some [DY]LD_LIBRARY_PATH is set... 190 # pre-load libvlccore VLC 2.2.8+ 191 ctypes.CDLL('libvlccore.dylib') 192 dll = ctypes.CDLL('libvlc.dylib') 193 194 else: 195 # All other OSes (linux, freebsd...) 196 p = find_library('vlc') 197 try: 198 dll = ctypes.CDLL(p) 199 except OSError: # may fail 200 dll = None 201 if dll is None: 202 try: 203 dll = ctypes.CDLL('libvlc.so.5') 204 except: 205 raise NotImplementedError('Cannot find libvlc lib') 206 207 return (dll, plugin_path)208 209 # plugin_path used on win32 and MacOS in override.py 210 dll, plugin_path = find_lib() 216 217 try: 218 _Ints = (int, long) 219 except NameError: # no long in Python 3+ 220 _Ints = int 221 _Seqs = (list, tuple)225 """Decorator. Caches a parameterless method's return value each time it is called. 226 227 If called later with the same arguments, the cached value is returned 228 (not reevaluated). 229 Adapted from https://wiki.python.org/moin/PythonDecoratorLibrary 230 """ 234251 252 # Default instance. It is used to instanciate classes directly in the 253 # OO-wrapper. 254 _default_instance = None236 try: 237 return self._cache[obj] 238 except KeyError: 239 v = self._cache[obj] = self.func(obj) 240 return v241 246257 """Return the default VLC.Instance. 258 """ 259 global _default_instance 260 if _default_instance is None: 261 _default_instance = Instance() 262 return _default_instance263265 """Try calling os.fspath 266 os.fspath is only available from py3.6 267 """ 268 try: 269 return os.fspath(path) 270 except (AttributeError, TypeError): 271 return path272 273 _Cfunctions = {} # from LibVLC __version__ 274 _Globals = globals() # sys.modules[__name__].__dict__277 """(INTERNAL) New ctypes function binding. 278 """ 279 if hasattr(dll, name) and name in _Globals: 280 p = ctypes.CFUNCTYPE(*types) 281 f = p((name, dll), flags) 282 if errcheck is not None: 283 f.errcheck = errcheck 284 # replace the Python function 285 # in this module, but only when 286 # running as python -O or -OO 287 if __debug__: 288 _Cfunctions[name] = f 289 else: 290 _Globals[name] = f 291 return f 292 raise NameError('no function %r' % (name,))293295 """(INTERNAL) New instance from ctypes. 296 """ 297 o = object.__new__(cls) 298 o._as_parameter_ = ctype 299 return o300302 """(INTERNAL) New wrapper from ctypes. 303 """ 304 if ptr == _internal_guard: 305 raise VLCException("(INTERNAL) ctypes class. You should get references for this class through methods of the LibVLC API.") 306 if ptr is None or ptr == 0: 307 return None 308 return _Cobject(cls, ctypes.c_void_p(ptr))309311 """(INTERNAL) Base class for ctypes structures. 312 """ 313 _fields_ = [] # list of 2-tuples ('name', ctypes.<type>) 314321316 l = [' %s:\t%s' % (n, getattr(self, n)) for n, _ in self._fields_] 317 return '\n'.join([self.__class__.__name__] + l)318323 """(INTERNAL) Base class for ctypes. 324 """ 325 @staticmethod 327 """(INTERNAL) ctypes parameter conversion method. 328 """ 329 if this is None: 330 return None 331 return this._as_parameter_332334 """Just like a POINTER but accept a list of etype elements as an argument. 335 """ 338344340 if isinstance(param, _Seqs): 341 return (self.etype * len(param))(*param) 342 else: 343 return ctypes.POINTER(param)345 # errcheck functions for some native functions. 346 -def string_result(result, func, arguments):347 """Errcheck function. Returns a string and frees the original pointer. 348 349 It assumes the result is a char *. 350 """ 351 if result: 352 # make a python string copy 353 s = bytes_to_str(ctypes.string_at(result)) 354 # free original string ptr 355 libvlc_free(result) 356 return s 357 return None358360 """Errcheck function. Returns a function that creates the specified class. 361 """ 362 def wrap_errcheck(result, func, arguments): 363 if result is None: 364 return None 365 return classname(result)366 return wrap_errcheck 367 371 Log_ptr = ctypes.POINTER(Log)372 373 # FILE* ctypes wrapper, copied from 374 # http://svn.python.org/projects/ctypes/trunk/ctypeslib/ctypeslib/contrib/pythonhdr.py 375 -class FILE(ctypes.Structure):377 FILE_ptr = ctypes.POINTER(FILE) 378 379 if PYTHON3: 380 PyFile_FromFd = ctypes.pythonapi.PyFile_FromFd 381 PyFile_FromFd.restype = ctypes.py_object 382 PyFile_FromFd.argtypes = [ctypes.c_int, 383 ctypes.c_char_p, 384 ctypes.c_char_p, 385 ctypes.c_int, 386 ctypes.c_char_p, 387 ctypes.c_char_p, 388 ctypes.c_char_p, 389 ctypes.c_int ] 390 391 PyFile_AsFd = ctypes.pythonapi.PyObject_AsFileDescriptor 392 PyFile_AsFd.restype = ctypes.c_int 393 PyFile_AsFd.argtypes = [ctypes.py_object] 394 else: 395 PyFile_FromFile = ctypes.pythonapi.PyFile_FromFile 396 PyFile_FromFile.restype = ctypes.py_object 397 PyFile_FromFile.argtypes = [FILE_ptr, 398 ctypes.c_char_p, 399 ctypes.c_char_p, 400 ctypes.CFUNCTYPE(ctypes.c_int, FILE_ptr)] 401 402 PyFile_AsFile = ctypes.pythonapi.PyFile_AsFile 403 PyFile_AsFile.restype = FILE_ptr 404 PyFile_AsFile.argtypes = [ctypes.py_object]409 '''(INTERNAL) Base class 410 ''' 411 _enum_names_ = {} 412429414 n = self._enum_names_.get(self.value, '') or ('FIXME_(%r)' % (self.value,)) 415 return '.'.join((self.__class__.__name__, n))416 419421 return '.'.join((self.__class__.__module__, self.__str__()))422424 return ( (isinstance(other, _Enum) and self.value == other.value) 425 or (isinstance(other, _Ints) and self.value == other) )426428 return not self.__eq__(other)431 '''Logging messages level. 432 \note future libvlc versions may define new levels. 433 ''' 434 _enum_names_ = { 435 0: 'DEBUG', 436 2: 'NOTICE', 437 3: 'WARNING', 438 4: 'ERROR', 439 }440 LogLevel.DEBUG = LogLevel(0) 441 LogLevel.ERROR = LogLevel(4) 442 LogLevel.NOTICE = LogLevel(2) 443 LogLevel.WARNING = LogLevel(3)446 '''Category of a media discoverer 447 See libvlc_media_discoverer_list_get(). 448 ''' 449 _enum_names_ = { 450 0: 'devices', 451 1: 'lan', 452 2: 'podcasts', 453 3: 'localdirs', 454 }455 MediaDiscovererCategory.devices = MediaDiscovererCategory(0) 456 MediaDiscovererCategory.lan = MediaDiscovererCategory(1) 457 MediaDiscovererCategory.localdirs = MediaDiscovererCategory(3) 458 MediaDiscovererCategory.podcasts = MediaDiscovererCategory(2)461 '''@defgroup libvlc_dialog libvlc dialog 462 @ingroup libvlc 463 @{ 464 @file 465 libvlc dialog external api. 466 ''' 467 _enum_names_ = { 468 0: 'DIALOG_QUESTION_NORMAL', 469 1: 'DIALOG_QUESTION_WARNING', 470 2: 'DIALOG_QUESTION_CRITICAL', 471 }472 DialogQuestionType.DIALOG_QUESTION_CRITICAL = DialogQuestionType(2) 473 DialogQuestionType.DIALOG_QUESTION_NORMAL = DialogQuestionType(0) 474 DialogQuestionType.DIALOG_QUESTION_WARNING = DialogQuestionType(1)477 '''Event types. 478 ''' 479 _enum_names_ = { 480 0: 'MediaMetaChanged', 481 1: 'MediaSubItemAdded', 482 2: 'MediaDurationChanged', 483 3: 'MediaParsedChanged', 484 4: 'MediaFreed', 485 5: 'MediaStateChanged', 486 6: 'MediaSubItemTreeAdded', 487 0x100: 'MediaPlayerMediaChanged', 488 257: 'MediaPlayerNothingSpecial', 489 258: 'MediaPlayerOpening', 490 259: 'MediaPlayerBuffering', 491 260: 'MediaPlayerPlaying', 492 261: 'MediaPlayerPaused', 493 262: 'MediaPlayerStopped', 494 263: 'MediaPlayerForward', 495 264: 'MediaPlayerBackward', 496 265: 'MediaPlayerEndReached', 497 266: 'MediaPlayerEncounteredError', 498 267: 'MediaPlayerTimeChanged', 499 268: 'MediaPlayerPositionChanged', 500 269: 'MediaPlayerSeekableChanged', 501 270: 'MediaPlayerPausableChanged', 502 271: 'MediaPlayerTitleChanged', 503 272: 'MediaPlayerSnapshotTaken', 504 273: 'MediaPlayerLengthChanged', 505 274: 'MediaPlayerVout', 506 275: 'MediaPlayerScrambledChanged', 507 276: 'MediaPlayerESAdded', 508 277: 'MediaPlayerESDeleted', 509 278: 'MediaPlayerESSelected', 510 279: 'MediaPlayerCorked', 511 280: 'MediaPlayerUncorked', 512 281: 'MediaPlayerMuted', 513 282: 'MediaPlayerUnmuted', 514 283: 'MediaPlayerAudioVolume', 515 284: 'MediaPlayerAudioDevice', 516 285: 'MediaPlayerChapterChanged', 517 0x200: 'MediaListItemAdded', 518 513: 'MediaListWillAddItem', 519 514: 'MediaListItemDeleted', 520 515: 'MediaListWillDeleteItem', 521 516: 'MediaListEndReached', 522 0x300: 'MediaListViewItemAdded', 523 769: 'MediaListViewWillAddItem', 524 770: 'MediaListViewItemDeleted', 525 771: 'MediaListViewWillDeleteItem', 526 0x400: 'MediaListPlayerPlayed', 527 1025: 'MediaListPlayerNextItemSet', 528 1026: 'MediaListPlayerStopped', 529 0x500: 'MediaDiscovererStarted', 530 1281: 'MediaDiscovererEnded', 531 1282: 'RendererDiscovererItemAdded', 532 1283: 'RendererDiscovererItemDeleted', 533 0x600: 'VlmMediaAdded', 534 1537: 'VlmMediaRemoved', 535 1538: 'VlmMediaChanged', 536 1539: 'VlmMediaInstanceStarted', 537 1540: 'VlmMediaInstanceStopped', 538 1541: 'VlmMediaInstanceStatusInit', 539 1542: 'VlmMediaInstanceStatusOpening', 540 1543: 'VlmMediaInstanceStatusPlaying', 541 1544: 'VlmMediaInstanceStatusPause', 542 1545: 'VlmMediaInstanceStatusEnd', 543 1546: 'VlmMediaInstanceStatusError', 544 }545 EventType.MediaDiscovererEnded = EventType(1281) 546 EventType.MediaDiscovererStarted = EventType(0x500) 547 EventType.MediaDurationChanged = EventType(2) 548 EventType.MediaFreed = EventType(4) 549 EventType.MediaListEndReached = EventType(516) 550 EventType.MediaListItemAdded = EventType(0x200) 551 EventType.MediaListItemDeleted = EventType(514) 552 EventType.MediaListPlayerNextItemSet = EventType(1025) 553 EventType.MediaListPlayerPlayed = EventType(0x400) 554 EventType.MediaListPlayerStopped = EventType(1026) 555 EventType.MediaListViewItemAdded = EventType(0x300) 556 EventType.MediaListViewItemDeleted = EventType(770) 557 EventType.MediaListViewWillAddItem = EventType(769) 558 EventType.MediaListViewWillDeleteItem = EventType(771) 559 EventType.MediaListWillAddItem = EventType(513) 560 EventType.MediaListWillDeleteItem = EventType(515) 561 EventType.MediaMetaChanged = EventType(0) 562 EventType.MediaParsedChanged = EventType(3) 563 EventType.MediaPlayerAudioDevice = EventType(284) 564 EventType.MediaPlayerAudioVolume = EventType(283) 565 EventType.MediaPlayerBackward = EventType(264) 566 EventType.MediaPlayerBuffering = EventType(259) 567 EventType.MediaPlayerChapterChanged = EventType(285) 568 EventType.MediaPlayerCorked = EventType(279) 569 EventType.MediaPlayerESAdded = EventType(276) 570 EventType.MediaPlayerESDeleted = EventType(277) 571 EventType.MediaPlayerESSelected = EventType(278) 572 EventType.MediaPlayerEncounteredError = EventType(266) 573 EventType.MediaPlayerEndReached = EventType(265) 574 EventType.MediaPlayerForward = EventType(263) 575 EventType.MediaPlayerLengthChanged = EventType(273) 576 EventType.MediaPlayerMediaChanged = EventType(0x100) 577 EventType.MediaPlayerMuted = EventType(281) 578 EventType.MediaPlayerNothingSpecial = EventType(257) 579 EventType.MediaPlayerOpening = EventType(258) 580 EventType.MediaPlayerPausableChanged = EventType(270) 581 EventType.MediaPlayerPaused = EventType(261) 582 EventType.MediaPlayerPlaying = EventType(260) 583 EventType.MediaPlayerPositionChanged = EventType(268) 584 EventType.MediaPlayerScrambledChanged = EventType(275) 585 EventType.MediaPlayerSeekableChanged = EventType(269) 586 EventType.MediaPlayerSnapshotTaken = EventType(272) 587 EventType.MediaPlayerStopped = EventType(262) 588 EventType.MediaPlayerTimeChanged = EventType(267) 589 EventType.MediaPlayerTitleChanged = EventType(271) 590 EventType.MediaPlayerUncorked = EventType(280) 591 EventType.MediaPlayerUnmuted = EventType(282) 592 EventType.MediaPlayerVout = EventType(274) 593 EventType.MediaStateChanged = EventType(5) 594 EventType.MediaSubItemAdded = EventType(1) 595 EventType.MediaSubItemTreeAdded = EventType(6) 596 EventType.RendererDiscovererItemAdded = EventType(1282) 597 EventType.RendererDiscovererItemDeleted = EventType(1283) 598 EventType.VlmMediaAdded = EventType(0x600) 599 EventType.VlmMediaChanged = EventType(1538) 600 EventType.VlmMediaInstanceStarted = EventType(1539) 601 EventType.VlmMediaInstanceStatusEnd = EventType(1545) 602 EventType.VlmMediaInstanceStatusError = EventType(1546) 603 EventType.VlmMediaInstanceStatusInit = EventType(1541) 604 EventType.VlmMediaInstanceStatusOpening = EventType(1542) 605 EventType.VlmMediaInstanceStatusPause = EventType(1544) 606 EventType.VlmMediaInstanceStatusPlaying = EventType(1543) 607 EventType.VlmMediaInstanceStopped = EventType(1540) 608 EventType.VlmMediaRemoved = EventType(1537)611 '''Meta data types. 612 ''' 613 _enum_names_ = { 614 0: 'Title', 615 1: 'Artist', 616 2: 'Genre', 617 3: 'Copyright', 618 4: 'Album', 619 5: 'TrackNumber', 620 6: 'Description', 621 7: 'Rating', 622 8: 'Date', 623 9: 'Setting', 624 10: 'URL', 625 11: 'Language', 626 12: 'NowPlaying', 627 13: 'Publisher', 628 14: 'EncodedBy', 629 15: 'ArtworkURL', 630 16: 'TrackID', 631 17: 'TrackTotal', 632 18: 'Director', 633 19: 'Season', 634 20: 'Episode', 635 21: 'ShowName', 636 22: 'Actors', 637 23: 'AlbumArtist', 638 24: 'DiscNumber', 639 25: 'DiscTotal', 640 }641 Meta.Actors = Meta(22) 642 Meta.Album = Meta(4) 643 Meta.AlbumArtist = Meta(23) 644 Meta.Artist = Meta(1) 645 Meta.ArtworkURL = Meta(15) 646 Meta.Copyright = Meta(3) 647 Meta.Date = Meta(8) 648 Meta.Description = Meta(6) 649 Meta.Director = Meta(18) 650 Meta.DiscNumber = Meta(24) 651 Meta.DiscTotal = Meta(25) 652 Meta.EncodedBy = Meta(14) 653 Meta.Episode = Meta(20) 654 Meta.Genre = Meta(2) 655 Meta.Language = Meta(11) 656 Meta.NowPlaying = Meta(12) 657 Meta.Publisher = Meta(13) 658 Meta.Rating = Meta(7) 659 Meta.Season = Meta(19) 660 Meta.Setting = Meta(9) 661 Meta.ShowName = Meta(21) 662 Meta.Title = Meta(0) 663 Meta.TrackID = Meta(16) 664 Meta.TrackNumber = Meta(5) 665 Meta.TrackTotal = Meta(17) 666 Meta.URL = Meta(10)669 '''Note the order of libvlc_state_t enum must match exactly the order of 670 See mediacontrol_playerstatus, See input_state_e enums, 671 and videolan.libvlc.state (at bindings/cil/src/media.cs). 672 expected states by web plugins are: 673 idle/close=0, opening=1, playing=3, paused=4, 674 stopping=5, ended=6, error=7. 675 ''' 676 _enum_names_ = { 677 0: 'NothingSpecial', 678 1: 'Opening', 679 2: 'Buffering', 680 3: 'Playing', 681 4: 'Paused', 682 5: 'Stopped', 683 6: 'Ended', 684 7: 'Error', 685 }686 State.Buffering = State(2) 687 State.Ended = State(6) 688 State.Error = State(7) 689 State.NothingSpecial = State(0) 690 State.Opening = State(1) 691 State.Paused = State(4) 692 State.Playing = State(3) 693 State.Stopped = State(5)696 '''N/A 697 ''' 698 _enum_names_ = { 699 -1: 'unknown', 700 0: 'audio', 701 1: 'video', 702 2: 'ext', 703 }704 TrackType.audio = TrackType(0) 705 TrackType.ext = TrackType(2) 706 TrackType.unknown = TrackType(-1) 707 TrackType.video = TrackType(1)710 '''N/A 711 ''' 712 _enum_names_ = { 713 0: 'top_left', 714 1: 'top_right', 715 2: 'bottom_left', 716 3: 'bottom_right', 717 4: 'left_top', 718 5: 'left_bottom', 719 6: 'right_top', 720 7: 'right_bottom', 721 }722 VideoOrient.bottom_left = VideoOrient(2) 723 VideoOrient.bottom_right = VideoOrient(3) 724 VideoOrient.left_bottom = VideoOrient(5) 725 VideoOrient.left_top = VideoOrient(4) 726 VideoOrient.right_bottom = VideoOrient(7) 727 VideoOrient.right_top = VideoOrient(6) 728 VideoOrient.top_left = VideoOrient(0) 729 VideoOrient.top_right = VideoOrient(1)732 '''N/A 733 ''' 734 _enum_names_ = { 735 0: 'rectangular', 736 1: 'equirectangular', 737 0x100: 'cubemap_layout_standard', 738 }739 VideoProjection.cubemap_layout_standard = VideoProjection(0x100) 740 VideoProjection.equirectangular = VideoProjection(1) 741 VideoProjection.rectangular = VideoProjection(0)744 '''Media type 745 See libvlc_media_get_type. 746 ''' 747 _enum_names_ = { 748 0: 'unknown', 749 1: 'file', 750 2: 'directory', 751 3: 'disc', 752 4: 'stream', 753 5: 'playlist', 754 }755 MediaType.directory = MediaType(2) 756 MediaType.disc = MediaType(3) 757 MediaType.file = MediaType(1) 758 MediaType.playlist = MediaType(5) 759 MediaType.stream = MediaType(4) 760 MediaType.unknown = MediaType(0)763 '''Parse flags used by libvlc_media_parse_with_options() 764 See libvlc_media_parse_with_options. 765 ''' 766 _enum_names_ = { 767 0x0: 'local', 768 0x1: 'network', 769 0x2: 'fetch_local', 770 0x4: 'fetch_network', 771 0x8: 'do_interact', 772 }773 MediaParseFlag.do_interact = MediaParseFlag(0x8) 774 MediaParseFlag.fetch_local = MediaParseFlag(0x2) 775 MediaParseFlag.fetch_network = MediaParseFlag(0x4) 776 MediaParseFlag.local = MediaParseFlag(0x0) 777 MediaParseFlag.network = MediaParseFlag(0x1)780 '''Parse status used sent by libvlc_media_parse_with_options() or returned by 781 libvlc_media_get_parsed_status() 782 See libvlc_media_parse_with_options 783 See libvlc_media_get_parsed_status. 784 ''' 785 _enum_names_ = { 786 1: 'skipped', 787 2: 'failed', 788 3: 'timeout', 789 4: 'done', 790 }791 MediaParsedStatus.done = MediaParsedStatus(4) 792 MediaParsedStatus.failed = MediaParsedStatus(2) 793 MediaParsedStatus.skipped = MediaParsedStatus(1) 794 MediaParsedStatus.timeout = MediaParsedStatus(3)797 '''Type of a media slave: subtitle or audio. 798 ''' 799 _enum_names_ = { 800 0: 'subtitle', 801 1: 'audio', 802 }803 MediaSlaveType.audio = MediaSlaveType(1) 804 MediaSlaveType.subtitle = MediaSlaveType(0)807 '''Marq options definition. 808 ''' 809 _enum_names_ = { 810 0: 'Enable', 811 1: 'Text', 812 2: 'Color', 813 3: 'Opacity', 814 4: 'Position', 815 5: 'Refresh', 816 6: 'Size', 817 7: 'Timeout', 818 8: 'X', 819 9: 'Y', 820 }821 VideoMarqueeOption.Color = VideoMarqueeOption(2) 822 VideoMarqueeOption.Enable = VideoMarqueeOption(0) 823 VideoMarqueeOption.Opacity = VideoMarqueeOption(3) 824 VideoMarqueeOption.Position = VideoMarqueeOption(4) 825 VideoMarqueeOption.Refresh = VideoMarqueeOption(5) 826 VideoMarqueeOption.Size = VideoMarqueeOption(6) 827 VideoMarqueeOption.Text = VideoMarqueeOption(1) 828 VideoMarqueeOption.Timeout = VideoMarqueeOption(7) 829 VideoMarqueeOption.X = VideoMarqueeOption(8) 830 VideoMarqueeOption.Y = VideoMarqueeOption(9) 843 NavigateMode.activate = NavigateMode(0) 844 NavigateMode.down = NavigateMode(2) 845 NavigateMode.left = NavigateMode(3) 846 NavigateMode.popup = NavigateMode(5) 847 NavigateMode.right = NavigateMode(4) 848 NavigateMode.up = NavigateMode(1)851 '''Enumeration of values used to set position (e.g. of video title). 852 ''' 853 _enum_names_ = { 854 -1: 'disable', 855 0: 'center', 856 1: 'left', 857 2: 'right', 858 3: 'top', 859 4: 'top_left', 860 5: 'top_right', 861 6: 'bottom', 862 7: 'bottom_left', 863 8: 'bottom_right', 864 }865 Position.bottom = Position(6) 866 Position.bottom_left = Position(7) 867 Position.bottom_right = Position(8) 868 Position.center = Position(0) 869 Position.disable = Position(-1) 870 Position.left = Position(1) 871 Position.right = Position(2) 872 Position.top = Position(3) 873 Position.top_left = Position(4) 874 Position.top_right = Position(5)877 '''Enumeration of teletext keys than can be passed via 878 libvlc_video_set_teletext(). 879 ''' 880 _enum_names_ = { 881 7471104: 'red', 882 6750208: 'green', 883 7929856: 'yellow', 884 6422528: 'blue', 885 6881280: 'index', 886 }887 TeletextKey.blue = TeletextKey(6422528) 888 TeletextKey.green = TeletextKey(6750208) 889 TeletextKey.index = TeletextKey(6881280) 890 TeletextKey.red = TeletextKey(7471104) 891 TeletextKey.yellow = TeletextKey(7929856)894 '''Option values for libvlc_video_{get,set}_logo_{int,string}. 895 ''' 896 _enum_names_ = { 897 0: 'logo_enable', 898 1: 'logo_file', 899 2: 'logo_x', 900 3: 'logo_y', 901 4: 'logo_delay', 902 5: 'logo_repeat', 903 6: 'logo_opacity', 904 7: 'logo_position', 905 }906 VideoLogoOption.logo_delay = VideoLogoOption(4) 907 VideoLogoOption.logo_enable = VideoLogoOption(0) 908 VideoLogoOption.logo_file = VideoLogoOption(1) 909 VideoLogoOption.logo_opacity = VideoLogoOption(6) 910 VideoLogoOption.logo_position = VideoLogoOption(7) 911 VideoLogoOption.logo_repeat = VideoLogoOption(5) 912 VideoLogoOption.logo_x = VideoLogoOption(2) 913 VideoLogoOption.logo_y = VideoLogoOption(3)916 '''Option values for libvlc_video_{get,set}_adjust_{int,float,bool}. 917 ''' 918 _enum_names_ = { 919 0: 'Enable', 920 1: 'Contrast', 921 2: 'Brightness', 922 3: 'Hue', 923 4: 'Saturation', 924 5: 'Gamma', 925 }926 VideoAdjustOption.Brightness = VideoAdjustOption(2) 927 VideoAdjustOption.Contrast = VideoAdjustOption(1) 928 VideoAdjustOption.Enable = VideoAdjustOption(0) 929 VideoAdjustOption.Gamma = VideoAdjustOption(5) 930 VideoAdjustOption.Hue = VideoAdjustOption(3) 931 VideoAdjustOption.Saturation = VideoAdjustOption(4)934 '''Audio device types. 935 ''' 936 _enum_names_ = { 937 -1: 'Error', 938 1: 'Mono', 939 2: 'Stereo', 940 4: '_2F2R', 941 5: '_3F2R', 942 6: '_5_1', 943 7: '_6_1', 944 8: '_7_1', 945 10: 'SPDIF', 946 }947 AudioOutputDeviceTypes.Error = AudioOutputDeviceTypes(-1) 948 AudioOutputDeviceTypes.Mono = AudioOutputDeviceTypes(1) 949 AudioOutputDeviceTypes.SPDIF = AudioOutputDeviceTypes(10) 950 AudioOutputDeviceTypes.Stereo = AudioOutputDeviceTypes(2) 951 AudioOutputDeviceTypes._2F2R = AudioOutputDeviceTypes(4) 952 AudioOutputDeviceTypes._3F2R = AudioOutputDeviceTypes(5) 953 AudioOutputDeviceTypes._5_1 = AudioOutputDeviceTypes(6) 954 AudioOutputDeviceTypes._6_1 = AudioOutputDeviceTypes(7) 955 AudioOutputDeviceTypes._7_1 = AudioOutputDeviceTypes(8)958 '''Audio channels. 959 ''' 960 _enum_names_ = { 961 -1: 'Error', 962 1: 'Stereo', 963 2: 'RStereo', 964 3: 'Left', 965 4: 'Right', 966 5: 'Dolbys', 967 }968 AudioOutputChannel.Dolbys = AudioOutputChannel(5) 969 AudioOutputChannel.Error = AudioOutputChannel(-1) 970 AudioOutputChannel.Left = AudioOutputChannel(3) 971 AudioOutputChannel.RStereo = AudioOutputChannel(2) 972 AudioOutputChannel.Right = AudioOutputChannel(4) 973 AudioOutputChannel.Stereo = AudioOutputChannel(1)976 '''Media player roles. 977 \version libvlc 3.0.0 and later. 978 see \ref libvlc_media_player_set_role(). 979 ''' 980 _enum_names_ = { 981 0: '_None', 982 1: 'Music', 983 2: 'Video', 984 3: 'Communication', 985 4: 'Game', 986 5: 'Notification', 987 6: 'Animation', 988 7: 'Production', 989 8: 'Accessibility', 990 9: 'Test', 991 }992 MediaPlayerRole.Accessibility = MediaPlayerRole(8) 993 MediaPlayerRole.Animation = MediaPlayerRole(6) 994 MediaPlayerRole.Communication = MediaPlayerRole(3) 995 MediaPlayerRole.Game = MediaPlayerRole(4) 996 MediaPlayerRole.Music = MediaPlayerRole(1) 997 MediaPlayerRole.Notification = MediaPlayerRole(5) 998 MediaPlayerRole.Production = MediaPlayerRole(7) 999 MediaPlayerRole.Test = MediaPlayerRole(9) 1000 MediaPlayerRole.Video = MediaPlayerRole(2) 1001 MediaPlayerRole._None = MediaPlayerRole(0)1004 '''Defines playback modes for playlist. 1005 ''' 1006 _enum_names_ = { 1007 0: 'default', 1008 1: 'loop', 1009 2: 'repeat', 1010 }1011 PlaybackMode.default = PlaybackMode(0) 1012 PlaybackMode.loop = PlaybackMode(1) 1013 PlaybackMode.repeat = PlaybackMode(2)1014 1015 # End of generated enum types # 1016 1017 # From libvlc_structures.h 1018 1019 -class AudioOutput(_Cstruct):1023 1024 AudioOutput._fields_ = [ # recursive struct 1025 ('name', ctypes.c_char_p), 1026 ('description', ctypes.c_char_p), 1027 ('next', ctypes.POINTER(AudioOutput)), 1028 ]1031 _fields_ = [ 1032 ('size', ctypes.c_uint ), 1033 ('severity', ctypes.c_int ), 1034 ('type', ctypes.c_char_p), 1035 ('name', ctypes.c_char_p), 1036 ('header', ctypes.c_char_p), 1037 ('message', ctypes.c_char_p), 1038 ] 1039 104310461048 _fields_ = [ 1049 ('media_name', ctypes.c_char_p), 1050 ('instance_name', ctypes.c_char_p), 1051 ]10521054 _fields_ = [ 1055 ('read_bytes', ctypes.c_int ), 1056 ('input_bitrate', ctypes.c_float), 1057 ('demux_read_bytes', ctypes.c_int ), 1058 ('demux_bitrate', ctypes.c_float), 1059 ('demux_corrupted', ctypes.c_int ), 1060 ('demux_discontinuity', ctypes.c_int ), 1061 ('decoded_video', ctypes.c_int ), 1062 ('decoded_audio', ctypes.c_int ), 1063 ('displayed_pictures', ctypes.c_int ), 1064 ('lost_pictures', ctypes.c_int ), 1065 ('played_abuffers', ctypes.c_int ), 1066 ('lost_abuffers', ctypes.c_int ), 1067 ('sent_packets', ctypes.c_int ), 1068 ('sent_bytes', ctypes.c_int ), 1069 ('send_bitrate', ctypes.c_float), 1070 ]10711073 _fields_ = [ 1074 ('codec', ctypes.c_uint32), 1075 ('id', ctypes.c_int ), 1076 ('type', TrackType ), 1077 ('profile', ctypes.c_int ), 1078 ('level', ctypes.c_int ), 1079 ('channels_or_height', ctypes.c_uint ), 1080 ('rate_or_width', ctypes.c_uint ), 1081 ]1082 10881090 _fields_ = [ 1091 ('height', ctypes.c_uint), 1092 ('width', ctypes.c_uint), 1093 ('sar_num', ctypes.c_uint), 1094 ('sar_den', ctypes.c_uint), 1095 ('frame_rate_num', ctypes.c_uint), 1096 ('frame_rate_den', ctypes.c_uint), 1097 ]1098 11031105 _fields_ = [ 1106 ('audio', ctypes.POINTER(AudioTrack)), 1107 ('video', ctypes.POINTER(VideoTrack)), 1108 ('subtitle', ctypes.POINTER(SubtitleTrack)), 1109 ]11101112 _anonymous_ = ("u",) 1113 _fields_ = [ 1114 ('codec', ctypes.c_uint32), 1115 ('original_fourcc', ctypes.c_uint32), 1116 ('id', ctypes.c_int ), 1117 ('type', TrackType ), 1118 ('profile', ctypes.c_int ), 1119 ('level', ctypes.c_int ), 1120 1121 ('u', MediaTrackTracks), 1122 ('bitrate', ctypes.c_uint), 1123 ('language', ctypes.c_char_p), 1124 ('description', ctypes.c_char_p), 1125 ]11261128 _fields_ = [ 1129 ('id', ctypes.c_int ), 1130 ('uri', ctypes.c_char_p), 1131 ('name', ctypes.c_char_p), 1132 ] 113311361138 _fields_ = [ 1139 ('top', ctypes.c_int), 1140 ('left', ctypes.c_int), 1141 ('bottom', ctypes.c_int), 1142 ('right', ctypes.c_int), 1143 ]1144 1149 1150 TrackDescription._fields_ = [ # recursive struct 1151 ('id', ctypes.c_int ), 1152 ('name', ctypes.c_char_p), 1153 ('next', ctypes.POINTER(TrackDescription)), 1154 ]1157 """Convert a TrackDescription linked list to a Python list (and release the former). 1158 """ 1159 r = [] 1160 if head: 1161 item = head 1162 while item: 1163 item = item.contents 1164 r.append((item.id, item.name)) 1165 item = item.next 1166 try: 1167 libvlc_track_description_release(head) 1168 except NameError: 1169 libvlc_track_description_list_release(head) 1170 1171 return r11721174 _fields_ = [ 1175 ('meta_type', ctypes.c_uint ), 1176 ('new_child', ctypes.c_uint ), 1177 ('new_duration', ctypes.c_longlong), 1178 ('new_status', ctypes.c_int ), 1179 ('media', ctypes.c_void_p ), 1180 ('new_state', ctypes.c_uint ), 1181 # FIXME: Media instance 1182 ('new_cache', ctypes.c_float ), 1183 ('new_position', ctypes.c_float ), 1184 ('new_time', ctypes.c_longlong), 1185 ('new_title', ctypes.c_int ), 1186 ('new_seekable', ctypes.c_longlong), 1187 ('new_pausable', ctypes.c_longlong), 1188 ('new_scrambled', ctypes.c_longlong), 1189 ('new_count', ctypes.c_longlong), 1190 # FIXME: Skipped MediaList and MediaListView... 1191 ('filename', ctypes.c_char_p ), 1192 ('new_length', ctypes.c_longlong), 1193 ('media_event', MediaEvent ), 1194 ]11951197 _fields_ = [ 1198 ('type', EventType ), 1199 ('object', ctypes.c_void_p), 1200 ('u', EventUnion ), 1201 ]1202 1207 1208 ModuleDescription._fields_ = [ # recursive struct 1209 ('name', ctypes.c_char_p), 1210 ('shortname', ctypes.c_char_p), 1211 ('longname', ctypes.c_char_p), 1212 ('help', ctypes.c_char_p), 1213 ('next', ctypes.POINTER(ModuleDescription)), 1214 ]1217 """Convert a ModuleDescription linked list to a Python list (and release the former). 1218 """ 1219 r = [] 1220 if head: 1221 item = head 1222 while item: 1223 item = item.contents 1224 r.append((item.name, item.shortname, item.longname, item.help)) 1225 item = item.next 1226 libvlc_module_description_list_release(head) 1227 return r1228 1233 1234 AudioOutputDevice._fields_ = [ # recursive struct 1235 ('next', ctypes.POINTER(AudioOutputDevice)), 1236 ('device', ctypes.c_char_p ), 1237 ('description', ctypes.c_char_p), 1238 ]1241 _fields_ = [ 1242 ('duration', ctypes.c_longlong), 1243 ('name', ctypes.c_char_p), 1244 ('menu', ctypes.c_bool), 1245 ]12461248 _fields_ = [ 1249 ('time_offset', ctypes.c_longlong), 1250 ('duration', ctypes.c_longlong), 1251 ('name', ctypes.c_char_p), 1252 ]12531255 _fields_ = [ 1256 ('yaw', ctypes.c_float), 1257 ('pitch', ctypes.c_float), 1258 ('roll', ctypes.c_float), 1259 ('field_of_view', ctypes.c_float), 1260 ]12611263 _fields_ = [ 1264 ('name', ctypes.c_char_p), 1265 ('longname', ctypes.c_char_p), 1266 ('cat', MediaDiscovererCategory), 1267 ] 12681271 1272 # This struct depends on the MediaSlaveType enum that is defined only 1273 # in > 2.2 1274 if 'MediaSlaveType' in locals():1276 _fields_ = [ 1277 ('psz_uri', ctypes.c_char_p), 1278 ('i_type', MediaSlaveType), 1279 ('i_priority', ctypes.c_uint) 1280 ]1281 1287 1293 1298 13031305 _fields_ = [ 1306 ('width', ctypes.c_uint), 1307 ('height', ctypes.c_uint), 1308 ('bitdepth', ctypes.c_uint), 1309 ('full_range', ctypes.c_bool), 1310 # FIXME: should be references to enums 1311 ('colorspace', ctypes.c_uint), 1312 ('primaries', ctypes.c_uint), 1313 ('transfer', ctypes.c_uint), 1314 ]13151317 _fields_ = [ 1318 ('surface_format', ctypes.c_int), 1319 ('full_range', ctypes.c_bool), 1320 # FIXME: should be references to enums 1321 ('colorspace', ctypes.c_uint), 1322 ('primaries', ctypes.c_uint), 1323 ('transfer', ctypes.c_uint), 1324 ]13251327 _fields_ = [ 1328 ('RedPrimary ', ctypes.c_uint16 * 2), 1329 ('GreenPrimary', ctypes.c_uint16 * 2), 1330 ('BluePrimary', ctypes.c_uint16 * 2), 1331 ('WhitePoint', ctypes.c_uint16 * 2), 1332 ('MaxMasteringLuminance', ctypes.c_uint), 1333 ('MinMasteringLuminance', ctypes.c_uint), 1334 ('MaxContentLightLevel', ctypes.c_uint16), 1335 ('MaxFrameAverageLightLevel', ctypes.c_uint16), 1336 ]1337 13421344 # FIXME: this is normally a union for D3D11/D3D9. We only define 1345 # the mapping for d3d11 here 1346 _fields_ = [ 1347 ('device_context', ctypes.c_void_p), 1348 ]13491351 _fields_ = [ 1352 ('width', ctypes.c_uint), 1353 ('height', ctypes.c_uint), 1354 ('bitdepth', ctypes.c_uint), 1355 ('full_range', ctypes.c_bool), 1356 # FIXME: should be references to enums 1357 ('colorspace', ctypes.c_uint), 1358 ('primaries', ctypes.c_uint), 1359 ('transfer', ctypes.c_uint), 1360 ('device', ctypes.c_void_p), 1361 ]13621365 """Callback function notification. 1366 @param p_event: the event triggering the callback. 1367 """ 1368 pass1370 """Callback prototype for LibVLC log message handler. 1371 @param data: data pointer as given to L{libvlc_log_set}(). 1372 @param level: message level (@ref L{LogLevel}). 1373 @param ctx: message context (meta-information about the message). 1374 @param fmt: printf() format string (as defined by ISO C11). 1375 @param args: variable argument list for the format @note Log message handlers B{must} be thread-safe. @warning The message context pointer, the format string parameters and the variable arguments are only valid until the callback returns. 1376 """ 1377 pass1379 """Callback prototype to open a custom bitstream input media. 1380 The same media item can be opened multiple times. Each time, this callback 1381 is invoked. It should allocate and initialize any instance-specific 1382 resources, then store them in *datap. The instance resources can be freed 1383 in the @ref libvlc_media_close_cb callback. 1384 @param opaque: private pointer as passed to L{libvlc_media_new_callbacks}(). 1385 @return: datap storage space for a private data pointer, sizep byte length of the bitstream or UINT64_MAX if unknown. 1386 """ 1387 pass1389 """Callback prototype to read data from a custom bitstream input media. 1390 @param opaque: private pointer as set by the @ref libvlc_media_open_cb callback. 1391 @param buf: start address of the buffer to read data into. 1392 @param len: bytes length of the buffer. 1393 @return: strictly positive number of bytes read, 0 on end-of-stream, or -1 on non-recoverable error @note If no data is immediately available, then the callback should sleep. @warning The application is responsible for avoiding deadlock situations. In particular, the callback should return an error if playback is stopped; if it does not return, then L{libvlc_media_player_stop}() will never return. 1394 """ 1395 pass1397 """Callback prototype to seek a custom bitstream input media. 1398 @param opaque: private pointer as set by the @ref libvlc_media_open_cb callback. 1399 @param offset: absolute byte offset to seek to. 1400 @return: 0 on success, -1 on error. 1401 """ 1402 pass1404 """Callback prototype to close a custom bitstream input media. 1405 @param opaque: private pointer as set by the @ref libvlc_media_open_cb callback. 1406 """ 1407 pass1409 """Callback prototype to allocate and lock a picture buffer. 1410 Whenever a new video frame needs to be decoded, the lock callback is 1411 invoked. Depending on the video chroma, one or three pixel planes of 1412 adequate dimensions must be returned via the second parameter. Those 1413 planes must be aligned on 32-bytes boundaries. 1414 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN]. 1415 @param planes: start address of the pixel planes (LibVLC allocates the array of void pointers, this callback must initialize the array) [OUT]. 1416 @return: a private pointer for the display and unlock callbacks to identify the picture buffers. 1417 """ 1418 pass1420 """Callback prototype to unlock a picture buffer. 1421 When the video frame decoding is complete, the unlock callback is invoked. 1422 This callback might not be needed at all. It is only an indication that the 1423 application can now read the pixel values if it needs to. 1424 @note: A picture buffer is unlocked after the picture is decoded, 1425 but before the picture is displayed. 1426 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN]. 1427 @param picture: private pointer returned from the @ref libvlc_video_lock_cb callback [IN]. 1428 @param planes: pixel planes as defined by the @ref libvlc_video_lock_cb callback (this parameter is only for convenience) [IN]. 1429 """ 1430 pass1432 """Callback prototype to display a picture. 1433 When the video frame needs to be shown, as determined by the media playback 1434 clock, the display callback is invoked. 1435 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN]. 1436 @param picture: private pointer returned from the @ref libvlc_video_lock_cb callback [IN]. 1437 """ 1438 pass1440 """Callback prototype to configure picture buffers format. 1441 This callback gets the format of the video as output by the video decoder 1442 and the chain of video filters (if any). It can opt to change any parameter 1443 as it needs. In that case, LibVLC will attempt to convert the video format 1444 (rescaling and chroma conversion) but these operations can be CPU intensive. 1445 @param opaque: pointer to the private pointer passed to L{libvlc_video_set_callbacks}() [IN/OUT]. 1446 @param chroma: pointer to the 4 bytes video format identifier [IN/OUT]. 1447 @param width: pointer to the pixel width [IN/OUT]. 1448 @param height: pointer to the pixel height [IN/OUT]. 1449 @param pitches: table of scanline pitches in bytes for each pixel plane (the table is allocated by LibVLC) [OUT]. 1450 @return: lines table of scanlines count for each plane. 1451 """ 1452 pass1454 """Callback prototype to configure picture buffers format. 1455 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() (and possibly modified by @ref libvlc_video_format_cb) [IN]. 1456 """ 1457 pass1459 """Callback prototype for audio playback. 1460 The LibVLC media player decodes and post-processes the audio signal 1461 asynchronously (in an internal thread). Whenever audio samples are ready 1462 to be queued to the output, this callback is invoked. 1463 The number of samples provided per invocation may depend on the file format, 1464 the audio coding algorithm, the decoder plug-in, the post-processing 1465 filters and timing. Application must not assume a certain number of samples. 1466 The exact format of audio samples is determined by L{libvlc_audio_set_format}() 1467 or L{libvlc_audio_set_format_callbacks}() as is the channels layout. 1468 Note that the number of samples is per channel. For instance, if the audio 1469 track sampling rate is 48000 Hz, then 1200 samples represent 25 milliseconds 1470 of audio signal - regardless of the number of audio channels. 1471 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1472 @param samples: pointer to a table of audio samples to play back [IN]. 1473 @param count: number of audio samples to play back. 1474 @param pts: expected play time stamp (see libvlc_delay()). 1475 """ 1476 pass1478 """Callback prototype for audio pause. 1479 LibVLC invokes this callback to pause audio playback. 1480 @note: The pause callback is never called if the audio is already paused. 1481 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1482 @param pts: time stamp of the pause request (should be elapsed already). 1483 """ 1484 pass1486 """Callback prototype for audio resumption. 1487 LibVLC invokes this callback to resume audio playback after it was 1488 previously paused. 1489 @note: The resume callback is never called if the audio is not paused. 1490 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1491 @param pts: time stamp of the resumption request (should be elapsed already). 1492 """ 1493 pass1495 """Callback prototype for audio buffer flush. 1496 LibVLC invokes this callback if it needs to discard all pending buffers and 1497 stop playback as soon as possible. This typically occurs when the media is 1498 stopped. 1499 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1500 """ 1501 pass1503 """Callback prototype for audio buffer drain. 1504 LibVLC may invoke this callback when the decoded audio track is ending. 1505 There will be no further decoded samples for the track, but playback should 1506 nevertheless continue until all already pending buffers are rendered. 1507 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1508 """ 1509 pass1511 """Callback prototype for audio volume change. 1512 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1513 @param volume: software volume (1. = nominal, 0. = mute). 1514 @param mute: muted flag. 1515 """ 1516 pass1518 """Callback prototype to setup the audio playback. 1519 This is called when the media player needs to create a new audio output. 1520 @param opaque: pointer to the data pointer passed to L{libvlc_audio_set_callbacks}() [IN/OUT]. 1521 @param format: 4 bytes sample format [IN/OUT]. 1522 @param rate: sample rate [IN/OUT]. 1523 @param channels: channels count [IN/OUT]. 1524 @return: 0 on success, anything else to skip audio playback. 1525 """ 1526 pass1528 """Callback prototype for audio playback cleanup. 1529 This is called when the media player no longer needs an audio output. 1530 @param opaque: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1531 """ 1532 pass1534 "Class holding various method decorators for callback functions." 1535 Callback = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p) 1536 Callback.__doc__ = '''Callback function notification. 1537 @param p_event: the event triggering the callback. 1538 ''' 1539 LogCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int, Log_ptr, ctypes.c_char_p, ctypes.c_void_p) 1540 LogCb.__doc__ = '''Callback prototype for LibVLC log message handler. 1541 @param data: data pointer as given to L{libvlc_log_set}(). 1542 @param level: message level (@ref L{LogLevel}). 1543 @param ctx: message context (meta-information about the message). 1544 @param fmt: printf() format string (as defined by ISO C11). 1545 @param args: variable argument list for the format @note Log message handlers B{must} be thread-safe. @warning The message context pointer, the format string parameters and the variable arguments are only valid until the callback returns. 1546 ''' 1547 MediaOpenCb = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p), ctypes.POINTER(ctypes.c_uint64)) 1548 MediaOpenCb.__doc__ = '''Callback prototype to open a custom bitstream input media. 1549 The same media item can be opened multiple times. Each time, this callback 1550 is invoked. It should allocate and initialize any instance-specific 1551 resources, then store them in *datap. The instance resources can be freed 1552 in the @ref libvlc_media_close_cb callback. 1553 @param opaque: private pointer as passed to L{libvlc_media_new_callbacks}(). 1554 @return: datap storage space for a private data pointer, sizep byte length of the bitstream or UINT64_MAX if unknown. 1555 ''' 1556 MediaReadCb = ctypes.CFUNCTYPE(ctypes.c_ssize_t, ctypes.c_void_p, ctypes.POINTER(ctypes.c_char), ctypes.c_size_t) 1557 MediaReadCb.__doc__ = '''Callback prototype to read data from a custom bitstream input media. 1558 @param opaque: private pointer as set by the @ref libvlc_media_open_cb callback. 1559 @param buf: start address of the buffer to read data into. 1560 @param len: bytes length of the buffer. 1561 @return: strictly positive number of bytes read, 0 on end-of-stream, or -1 on non-recoverable error @note If no data is immediately available, then the callback should sleep. @warning The application is responsible for avoiding deadlock situations. In particular, the callback should return an error if playback is stopped; if it does not return, then L{libvlc_media_player_stop}() will never return. 1562 ''' 1563 MediaSeekCb = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_uint64) 1564 MediaSeekCb.__doc__ = '''Callback prototype to seek a custom bitstream input media. 1565 @param opaque: private pointer as set by the @ref libvlc_media_open_cb callback. 1566 @param offset: absolute byte offset to seek to. 1567 @return: 0 on success, -1 on error. 1568 ''' 1569 MediaCloseCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p) 1570 MediaCloseCb.__doc__ = '''Callback prototype to close a custom bitstream input media. 1571 @param opaque: private pointer as set by the @ref libvlc_media_open_cb callback. 1572 ''' 1573 VideoLockCb = ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p)) 1574 VideoLockCb.__doc__ = '''Callback prototype to allocate and lock a picture buffer. 1575 Whenever a new video frame needs to be decoded, the lock callback is 1576 invoked. Depending on the video chroma, one or three pixel planes of 1577 adequate dimensions must be returned via the second parameter. Those 1578 planes must be aligned on 32-bytes boundaries. 1579 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN]. 1580 @param planes: start address of the pixel planes (LibVLC allocates the array of void pointers, this callback must initialize the array) [OUT]. 1581 @return: a private pointer for the display and unlock callbacks to identify the picture buffers. 1582 ''' 1583 VideoUnlockCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p)) 1584 VideoUnlockCb.__doc__ = '''Callback prototype to unlock a picture buffer. 1585 When the video frame decoding is complete, the unlock callback is invoked. 1586 This callback might not be needed at all. It is only an indication that the 1587 application can now read the pixel values if it needs to. 1588 @note: A picture buffer is unlocked after the picture is decoded, 1589 but before the picture is displayed. 1590 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN]. 1591 @param picture: private pointer returned from the @ref libvlc_video_lock_cb callback [IN]. 1592 @param planes: pixel planes as defined by the @ref libvlc_video_lock_cb callback (this parameter is only for convenience) [IN]. 1593 ''' 1594 VideoDisplayCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p) 1595 VideoDisplayCb.__doc__ = '''Callback prototype to display a picture. 1596 When the video frame needs to be shown, as determined by the media playback 1597 clock, the display callback is invoked. 1598 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() [IN]. 1599 @param picture: private pointer returned from the @ref libvlc_video_lock_cb callback [IN]. 1600 ''' 1601 VideoFormatCb = ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.POINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint)) 1602 VideoFormatCb.__doc__ = '''Callback prototype to configure picture buffers format. 1603 This callback gets the format of the video as output by the video decoder 1604 and the chain of video filters (if any). It can opt to change any parameter 1605 as it needs. In that case, LibVLC will attempt to convert the video format 1606 (rescaling and chroma conversion) but these operations can be CPU intensive. 1607 @param opaque: pointer to the private pointer passed to L{libvlc_video_set_callbacks}() [IN/OUT]. 1608 @param chroma: pointer to the 4 bytes video format identifier [IN/OUT]. 1609 @param width: pointer to the pixel width [IN/OUT]. 1610 @param height: pointer to the pixel height [IN/OUT]. 1611 @param pitches: table of scanline pitches in bytes for each pixel plane (the table is allocated by LibVLC) [OUT]. 1612 @return: lines table of scanlines count for each plane. 1613 ''' 1614 VideoCleanupCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p) 1615 VideoCleanupCb.__doc__ = '''Callback prototype to configure picture buffers format. 1616 @param opaque: private pointer as passed to L{libvlc_video_set_callbacks}() (and possibly modified by @ref libvlc_video_format_cb) [IN]. 1617 ''' 1618 AudioPlayCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_int64) 1619 AudioPlayCb.__doc__ = '''Callback prototype for audio playback. 1620 The LibVLC media player decodes and post-processes the audio signal 1621 asynchronously (in an internal thread). Whenever audio samples are ready 1622 to be queued to the output, this callback is invoked. 1623 The number of samples provided per invocation may depend on the file format, 1624 the audio coding algorithm, the decoder plug-in, the post-processing 1625 filters and timing. Application must not assume a certain number of samples. 1626 The exact format of audio samples is determined by L{libvlc_audio_set_format}() 1627 or L{libvlc_audio_set_format_callbacks}() as is the channels layout. 1628 Note that the number of samples is per channel. For instance, if the audio 1629 track sampling rate is 48000 Hz, then 1200 samples represent 25 milliseconds 1630 of audio signal - regardless of the number of audio channels. 1631 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1632 @param samples: pointer to a table of audio samples to play back [IN]. 1633 @param count: number of audio samples to play back. 1634 @param pts: expected play time stamp (see libvlc_delay()). 1635 ''' 1636 AudioPauseCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int64) 1637 AudioPauseCb.__doc__ = '''Callback prototype for audio pause. 1638 LibVLC invokes this callback to pause audio playback. 1639 @note: The pause callback is never called if the audio is already paused. 1640 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1641 @param pts: time stamp of the pause request (should be elapsed already). 1642 ''' 1643 AudioResumeCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int64) 1644 AudioResumeCb.__doc__ = '''Callback prototype for audio resumption. 1645 LibVLC invokes this callback to resume audio playback after it was 1646 previously paused. 1647 @note: The resume callback is never called if the audio is not paused. 1648 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1649 @param pts: time stamp of the resumption request (should be elapsed already). 1650 ''' 1651 AudioFlushCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int64) 1652 AudioFlushCb.__doc__ = '''Callback prototype for audio buffer flush. 1653 LibVLC invokes this callback if it needs to discard all pending buffers and 1654 stop playback as soon as possible. This typically occurs when the media is 1655 stopped. 1656 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1657 ''' 1658 AudioDrainCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p) 1659 AudioDrainCb.__doc__ = '''Callback prototype for audio buffer drain. 1660 LibVLC may invoke this callback when the decoded audio track is ending. 1661 There will be no further decoded samples for the track, but playback should 1662 nevertheless continue until all already pending buffers are rendered. 1663 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1664 ''' 1665 AudioSetVolumeCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_float, ctypes.c_bool) 1666 AudioSetVolumeCb.__doc__ = '''Callback prototype for audio volume change. 1667 @param data: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1668 @param volume: software volume (1. = nominal, 0. = mute). 1669 @param mute: muted flag. 1670 ''' 1671 AudioSetupCb = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.POINTER(ctypes.c_void_p), ctypes.c_char_p, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint)) 1672 AudioSetupCb.__doc__ = '''Callback prototype to setup the audio playback. 1673 This is called when the media player needs to create a new audio output. 1674 @param opaque: pointer to the data pointer passed to L{libvlc_audio_set_callbacks}() [IN/OUT]. 1675 @param format: 4 bytes sample format [IN/OUT]. 1676 @param rate: sample rate [IN/OUT]. 1677 @param channels: channels count [IN/OUT]. 1678 @return: 0 on success, anything else to skip audio playback. 1679 ''' 1680 AudioCleanupCb = ctypes.CFUNCTYPE(None, ctypes.c_void_p) 1681 AudioCleanupCb.__doc__ = '''Callback prototype for audio playback cleanup. 1682 This is called when the media player no longer needs an audio output. 1683 @param opaque: data pointer as passed to L{libvlc_audio_set_callbacks}() [IN]. 1684 '''1685 cb = CallbackDecorators1686 # End of generated enum types # 1687 1688 # End of header.py # 1689 -class AudioEqualizer(_Ctype):1690 '''Create a new default equalizer, with all frequency values zeroed. 1691 1692 The new equalizer can subsequently be applied to a media player by invoking 1693 L{MediaPlayer.set_equalizer}. 1694 The returned handle should be freed via libvlc_audio_equalizer_release() when 1695 it is no longer needed. 1696 ''' 169717541699 if len(args) == 1 and isinstance(args[0], _Ints): 1700 return _Constructor(cls, args[0]) 1701 return libvlc_audio_equalizer_new()1702 17031705 '''Release a previously created equalizer instance. 1706 The equalizer was previously created by using L{new}() or 1707 L{new_from_preset}(). 1708 It is safe to invoke this method with a None p_equalizer parameter for no effect. 1709 @version: LibVLC 2.2.0 or later. 1710 ''' 1711 return libvlc_audio_equalizer_release(self)1712 17131715 '''Set a new pre-amplification value for an equalizer. 1716 The new equalizer settings are subsequently applied to a media player by invoking 1717 L{media_player_set_equalizer}(). 1718 The supplied amplification value will be clamped to the -20.0 to +20.0 range. 1719 @param f_preamp: preamp value (-20.0 to 20.0 Hz). 1720 @return: zero on success, -1 on error. 1721 @version: LibVLC 2.2.0 or later. 1722 ''' 1723 return libvlc_audio_equalizer_set_preamp(self, f_preamp)1724 17251727 '''Get the current pre-amplification value from an equalizer. 1728 @return: preamp value (Hz). 1729 @version: LibVLC 2.2.0 or later. 1730 ''' 1731 return libvlc_audio_equalizer_get_preamp(self)1732 17331735 '''Set a new amplification value for a particular equalizer frequency band. 1736 The new equalizer settings are subsequently applied to a media player by invoking 1737 L{media_player_set_equalizer}(). 1738 The supplied amplification value will be clamped to the -20.0 to +20.0 range. 1739 @param f_amp: amplification value (-20.0 to 20.0 Hz). 1740 @param u_band: index, counting from zero, of the frequency band to set. 1741 @return: zero on success, -1 on error. 1742 @version: LibVLC 2.2.0 or later. 1743 ''' 1744 return libvlc_audio_equalizer_set_amp_at_index(self, f_amp, u_band)1745 17461748 '''Get the amplification value for a particular equalizer frequency band. 1749 @param u_band: index, counting from zero, of the frequency band to get. 1750 @return: amplification value (Hz); NaN if there is no such frequency band. 1751 @version: LibVLC 2.2.0 or later. 1752 ''' 1753 return libvlc_audio_equalizer_get_amp_at_index(self, u_band)1756 '''Create an event manager with callback handler. 1757 1758 This class interposes the registration and handling of 1759 event notifications in order to (a) remove the need for 1760 decorating each callback functions with the decorator 1761 '@callbackmethod', (b) allow any number of positional 1762 and/or keyword arguments to the callback (in addition 1763 to the Event instance) and (c) to preserve the Python 1764 objects such that the callback and argument objects 1765 remain alive (i.e. are not garbage collected) until 1766 B{after} the notification has been unregistered. 1767 1768 @note: Only a single notification can be registered 1769 for each event type in an EventManager instance. 1770 1771 ''' 1772 1773 _callback_handler = None 1774 _callbacks = {} 177518301777 if ptr == _internal_guard: 1778 raise VLCException("(INTERNAL) ctypes class.\nYou should get a reference to EventManager through the MediaPlayer.event_manager() method.") 1779 return _Constructor(cls, ptr)17801782 """Register an event notification. 1783 1784 @param eventtype: the desired event type to be notified about. 1785 @param callback: the function to call when the event occurs. 1786 @param args: optional positional arguments for the callback. 1787 @param kwds: optional keyword arguments for the callback. 1788 @return: 0 on success, ENOMEM on error. 1789 1790 @note: The callback function must have at least one argument, 1791 an Event instance. Any other, optional positional and keyword 1792 arguments are in B{addition} to the first one. Warning: libvlc 1793 is not reentrant, i.e. you cannot call libvlc functions from 1794 an event handler. They must be called from the main 1795 application thread. 1796 """ 1797 if not isinstance(eventtype, EventType): 1798 raise VLCException("%s required: %r" % ('EventType', eventtype)) 1799 if not hasattr(callback, '__call__'): # callable() 1800 raise VLCException("%s required: %r" % ('callable', callback)) 1801 # check that the callback expects arguments 1802 if not any(getargspec(callback)[:2]): # list(...) 1803 raise VLCException("%s required: %r" % ('argument', callback)) 1804 1805 if self._callback_handler is None: 1806 _called_from_ctypes = ctypes.CFUNCTYPE(None, ctypes.POINTER(Event), ctypes.c_void_p) 1807 @_called_from_ctypes 1808 def _callback_handler(event, k): 1809 """(INTERNAL) handle callback call from ctypes. 1810 1811 @note: We cannot simply make this an EventManager 1812 method since ctypes does not prepend self as the 1813 first parameter, hence this closure. 1814 """ 1815 try: # retrieve Python callback and arguments 1816 call, args, kwds = self._callbacks[k] 1817 except KeyError: # detached? 1818 pass 1819 else: 1820 # deref event.contents to simplify callback code 1821 call(event.contents, *args, **kwds)1822 self._callback_handler = _callback_handler 1823 self._callbacks = {} 1824 1825 k = eventtype.value 1826 r = libvlc_event_attach(self, k, self._callback_handler, k) 1827 if not r: 1828 self._callbacks[k] = (callback, args, kwds) 1829 return r1832 """Unregister an event notification. 1833 1834 @param eventtype: the event type notification to be removed. 1835 """ 1836 if not isinstance(eventtype, EventType): 1837 raise VLCException("%s required: %r" % ('EventType', eventtype)) 1838 1839 k = eventtype.value 1840 if k in self._callbacks: 1841 del self._callbacks[k] # remove, regardless of libvlc return value 1842 libvlc_event_detach(self, k, self._callback_handler, k)18431846 '''Create a new Instance instance. 1847 1848 It may take as parameter either: 1849 - a string 1850 - a list of strings as first parameters 1851 - the parameters given as the constructor parameters (must be strings) 1852 1853 ''' 185425031856 if len(args) == 1: 1857 # Only 1 arg. It is either a C pointer, or an arg string, 1858 # or a tuple. 1859 i = args[0] 1860 if isinstance(i, _Ints): 1861 return _Constructor(cls, i) 1862 elif isinstance(i, basestring): 1863 args = i.strip().split() 1864 elif isinstance(i, _Seqs): 1865 args = list(i) 1866 else: 1867 raise VLCException('Instance %r' % (args,)) 1868 else: 1869 args = list(args) 1870 1871 if not args: # no parameters passed 1872 args = ['vlc'] 1873 elif args[0] != 'vlc': 1874 args.insert(0, 'vlc') 1875 1876 if plugin_path is not None: 1877 # set plugin_path if detected, win32 and MacOS, 1878 # if the user did not specify it itself. 1879 os.environ.setdefault('VLC_PLUGIN_PATH', plugin_path) 1880 1881 if PYTHON3: 1882 args = [ str_to_bytes(a) for a in args ] 1883 return libvlc_new(len(args), args)18841886 """Create a new MediaPlayer instance. 1887 1888 @param uri: an optional URI to play in the player as a str, bytes or PathLike object. 1889 """ 1890 p = libvlc_media_player_new(self) 1891 if uri: 1892 p.set_media(self.media_new(uri)) 1893 p._instance = self 1894 return p18951897 """Create a new MediaListPlayer instance. 1898 """ 1899 p = libvlc_media_list_player_new(self) 1900 p._instance = self 1901 return p19021904 """Create a new Media instance. 1905 1906 If mrl contains a colon (:) preceded by more than 1 letter, it 1907 will be treated as a URL. Else, it will be considered as a 1908 local path. If you need more control, directly use 1909 media_new_location/media_new_path methods. 1910 1911 Options can be specified as supplementary string parameters, 1912 but note that many options cannot be set at the media level, 1913 and rather at the Instance level. For instance, the marquee 1914 filter must be specified when creating the vlc.Instance or 1915 vlc.MediaPlayer. 1916 1917 Alternatively, options can be added to the media using the 1918 Media.add_options method (with the same limitation). 1919 1920 @param mrl: A str, bytes or PathLike object 1921 @param options: optional media option=value strings 1922 """ 1923 mrl = try_fspath(mrl) 1924 if ':' in mrl and mrl.index(':') > 1: 1925 # Assume it is a URL 1926 m = libvlc_media_new_location(self, str_to_bytes(mrl)) 1927 else: 1928 # Else it should be a local path. 1929 m = libvlc_media_new_path(self, str_to_bytes(os.path.normpath(mrl))) 1930 for o in options: 1931 libvlc_media_add_option(m, str_to_bytes(o)) 1932 m._instance = self 1933 return m19341936 """Create a media for a certain file path. 1937 See L{media_release}. 1938 @param path: A str, byte, or PathLike object representing a local filesystem path. 1939 @return: the newly created media or None on error. 1940 """ 1941 path = try_fspath(path) 1942 return libvlc_media_new_path(self, str_to_bytes(path))19431945 """Create a new MediaList instance. 1946 @param mrls: optional list of MRL strings, bytes, or PathLike objects. 1947 """ 1948 l = libvlc_media_list_new(self) 1949 # We should take the lock, but since we did not leak the 1950 # reference, nobody else can access it. 1951 if mrls: 1952 for m in mrls: 1953 l.add_media(m) 1954 l._instance = self 1955 return l19561958 """Enumerate the defined audio output devices. 1959 1960 @return: list of dicts {name:, description:, devices:} 1961 """ 1962 r = [] 1963 head = libvlc_audio_output_list_get(self) 1964 if head: 1965 i = head 1966 while i: 1967 i = i.contents 1968 r.append({'name': i.name, 'description': i.description}) 1969 i = i.next 1970 libvlc_audio_output_list_release(head) 1971 return r19721974 """Returns a list of available audio filters. 1975 1976 """ 1977 return module_description_list(libvlc_audio_filter_list_get(self))19781980 """Returns a list of available video filters. 1981 1982 """ 1983 return module_description_list(libvlc_video_filter_list_get(self))1984 1985 19861988 '''Decrement the reference count of a libvlc instance, and destroy it 1989 if it reaches zero. 1990 ''' 1991 return libvlc_release(self)1992 19931995 '''Increments the reference count of a libvlc instance. 1996 The initial reference count is 1 after L{new}() returns. 1997 ''' 1998 return libvlc_retain(self)1999 20002002 '''Try to start a user interface for the libvlc instance. 2003 @param name: interface name, or None for default. 2004 @return: 0 on success, -1 on error. 2005 ''' 2006 return libvlc_add_intf(self, str_to_bytes(name))2007 20082010 '''Sets the application name. LibVLC passes this as the user agent string 2011 when a protocol requires it. 2012 @param name: human-readable application name, e.g. "FooBar player 1.2.3". 2013 @param http: HTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0". 2014 @version: LibVLC 1.1.1 or later. 2015 ''' 2016 return libvlc_set_user_agent(self, str_to_bytes(name), str_to_bytes(http))2017 20182020 '''Sets some meta-information about the application. 2021 See also L{set_user_agent}(). 2022 @param id: Java-style application identifier, e.g. "com.acme.foobar". 2023 @param version: application version numbers, e.g. "1.2.3". 2024 @param icon: application icon name, e.g. "foobar". 2025 @version: LibVLC 2.1.0 or later. 2026 ''' 2027 return libvlc_set_app_id(self, str_to_bytes(id), str_to_bytes(version), str_to_bytes(icon))2028 20292031 '''Unsets the logging callback. 2032 This function deregisters the logging callback for a LibVLC instance. 2033 This is rarely needed as the callback is implicitly unset when the instance 2034 is destroyed. 2035 @note: This function will wait for any pending callbacks invocation to 2036 complete (causing a deadlock if called from within the callback). 2037 @version: LibVLC 2.1.0 or later. 2038 ''' 2039 return libvlc_log_unset(self)2040 20412043 '''Sets the logging callback for a LibVLC instance. 2044 This function is thread-safe: it will wait for any pending callbacks 2045 invocation to complete. 2046 @param data: opaque data pointer for the callback function @note Some log messages (especially debug) are emitted by LibVLC while is being initialized. These messages cannot be captured with this interface. @warning A deadlock may occur if this function is called from the callback. 2047 @param p_instance: libvlc instance. 2048 @version: LibVLC 2.1.0 or later. 2049 ''' 2050 return libvlc_log_set(self, cb, data)2051 20522054 '''Sets up logging to a file. 2055 @param stream: FILE pointer opened for writing (the FILE pointer must remain valid until L{log_unset}()). 2056 @version: LibVLC 2.1.0 or later. 2057 ''' 2058 return libvlc_log_set_file(self, stream)2059 20602062 '''Create a media discoverer object by name. 2063 After this object is created, you should attach to media_list events in 2064 order to be notified of new items discovered. 2065 You need to call L{media_discoverer_start}() in order to start the 2066 discovery. 2067 See L{media_discoverer_media_list} 2068 See L{media_discoverer_event_manager} 2069 See L{media_discoverer_start}. 2070 @param psz_name: service name; use L{media_discoverer_list_get}() to get a list of the discoverer names available in this libVLC instance. 2071 @return: media discover object or None in case of error. 2072 @version: LibVLC 3.0.0 or later. 2073 ''' 2074 return libvlc_media_discoverer_new(self, str_to_bytes(psz_name))2075 20762078 '''Get media discoverer services by category. 2079 @param i_cat: category of services to fetch. 2080 @param ppp_services: address to store an allocated array of media discoverer services (must be freed with L{media_discoverer_list_release}() by the caller) [OUT]. 2081 @return: the number of media discoverer services (0 on error). 2082 @version: LibVLC 3.0.0 and later. 2083 ''' 2084 return libvlc_media_discoverer_list_get(self, i_cat, ppp_services)2085 20862088 '''Create an new Media Library object. 2089 @return: a new object or None on error. 2090 ''' 2091 return libvlc_media_library_new(self)2092 20932095 '''Release the vlm instance related to the given L{Instance}. 2096 ''' 2097 return libvlc_vlm_release(self)2098 20992100 - def vlm_add_broadcast(self, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop):2101 '''Add a broadcast, with one input. 2102 @param psz_name: the name of the new broadcast. 2103 @param psz_input: the input MRL. 2104 @param psz_output: the output MRL (the parameter to the "sout" variable). 2105 @param i_options: number of additional options. 2106 @param ppsz_options: additional options. 2107 @param b_enabled: boolean for enabling the new broadcast. 2108 @param b_loop: Should this broadcast be played in loop ? 2109 @return: 0 on success, -1 on error. 2110 ''' 2111 return libvlc_vlm_add_broadcast(self, str_to_bytes(psz_name), str_to_bytes(psz_input), str_to_bytes(psz_output), i_options, ppsz_options, b_enabled, b_loop)2112 21132115 '''Add a vod, with one input. 2116 @param psz_name: the name of the new vod media. 2117 @param psz_input: the input MRL. 2118 @param i_options: number of additional options. 2119 @param ppsz_options: additional options. 2120 @param b_enabled: boolean for enabling the new vod. 2121 @param psz_mux: the muxer of the vod media. 2122 @return: 0 on success, -1 on error. 2123 ''' 2124 return libvlc_vlm_add_vod(self, str_to_bytes(psz_name), str_to_bytes(psz_input), i_options, ppsz_options, b_enabled, str_to_bytes(psz_mux))2125 21262128 '''Delete a media (VOD or broadcast). 2129 @param psz_name: the media to delete. 2130 @return: 0 on success, -1 on error. 2131 ''' 2132 return libvlc_vlm_del_media(self, str_to_bytes(psz_name))2133 21342136 '''Enable or disable a media (VOD or broadcast). 2137 @param psz_name: the media to work on. 2138 @param b_enabled: the new status. 2139 @return: 0 on success, -1 on error. 2140 ''' 2141 return libvlc_vlm_set_enabled(self, str_to_bytes(psz_name), b_enabled)2142 21432145 '''Set the output for a media. 2146 @param psz_name: the media to work on. 2147 @param psz_output: the output MRL (the parameter to the "sout" variable). 2148 @return: 0 on success, -1 on error. 2149 ''' 2150 return libvlc_vlm_set_output(self, str_to_bytes(psz_name), str_to_bytes(psz_output))2151 21522154 '''Set a media's input MRL. This will delete all existing inputs and 2155 add the specified one. 2156 @param psz_name: the media to work on. 2157 @param psz_input: the input MRL. 2158 @return: 0 on success, -1 on error. 2159 ''' 2160 return libvlc_vlm_set_input(self, str_to_bytes(psz_name), str_to_bytes(psz_input))2161 21622164 '''Add a media's input MRL. This will add the specified one. 2165 @param psz_name: the media to work on. 2166 @param psz_input: the input MRL. 2167 @return: 0 on success, -1 on error. 2168 ''' 2169 return libvlc_vlm_add_input(self, str_to_bytes(psz_name), str_to_bytes(psz_input))2170 21712173 '''Set a media's loop status. 2174 @param psz_name: the media to work on. 2175 @param b_loop: the new status. 2176 @return: 0 on success, -1 on error. 2177 ''' 2178 return libvlc_vlm_set_loop(self, str_to_bytes(psz_name), b_loop)2179 21802182 '''Set a media's vod muxer. 2183 @param psz_name: the media to work on. 2184 @param psz_mux: the new muxer. 2185 @return: 0 on success, -1 on error. 2186 ''' 2187 return libvlc_vlm_set_mux(self, str_to_bytes(psz_name), str_to_bytes(psz_mux))2188 21892190 - def vlm_change_media(self, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop):2191 '''Edit the parameters of a media. This will delete all existing inputs and 2192 add the specified one. 2193 @param psz_name: the name of the new broadcast. 2194 @param psz_input: the input MRL. 2195 @param psz_output: the output MRL (the parameter to the "sout" variable). 2196 @param i_options: number of additional options. 2197 @param ppsz_options: additional options. 2198 @param b_enabled: boolean for enabling the new broadcast. 2199 @param b_loop: Should this broadcast be played in loop ? 2200 @return: 0 on success, -1 on error. 2201 ''' 2202 return libvlc_vlm_change_media(self, str_to_bytes(psz_name), str_to_bytes(psz_input), str_to_bytes(psz_output), i_options, ppsz_options, b_enabled, b_loop)2203 22042206 '''Play the named broadcast. 2207 @param psz_name: the name of the broadcast. 2208 @return: 0 on success, -1 on error. 2209 ''' 2210 return libvlc_vlm_play_media(self, str_to_bytes(psz_name))2211 22122214 '''Stop the named broadcast. 2215 @param psz_name: the name of the broadcast. 2216 @return: 0 on success, -1 on error. 2217 ''' 2218 return libvlc_vlm_stop_media(self, str_to_bytes(psz_name))2219 22202222 '''Pause the named broadcast. 2223 @param psz_name: the name of the broadcast. 2224 @return: 0 on success, -1 on error. 2225 ''' 2226 return libvlc_vlm_pause_media(self, str_to_bytes(psz_name))2227 22282230 '''Seek in the named broadcast. 2231 @param psz_name: the name of the broadcast. 2232 @param f_percentage: the percentage to seek to. 2233 @return: 0 on success, -1 on error. 2234 ''' 2235 return libvlc_vlm_seek_media(self, str_to_bytes(psz_name), f_percentage)2236 22372239 '''Return information about the named media as a JSON 2240 string representation. 2241 This function is mainly intended for debugging use, 2242 if you want programmatic access to the state of 2243 a vlm_media_instance_t, please use the corresponding 2244 libvlc_vlm_get_media_instance_xxx -functions. 2245 Currently there are no such functions available for 2246 vlm_media_t though. 2247 @param psz_name: the name of the media, if the name is an empty string, all media is described. 2248 @return: string with information about named media, or None on error. 2249 ''' 2250 return libvlc_vlm_show_media(self, str_to_bytes(psz_name))2251 22522254 '''Get vlm_media instance position by name or instance id. 2255 @param psz_name: name of vlm media instance. 2256 @param i_instance: instance id. 2257 @return: position as float or -1. on error. 2258 ''' 2259 return libvlc_vlm_get_media_instance_position(self, str_to_bytes(psz_name), i_instance)2260 22612263 '''Get vlm_media instance time by name or instance id. 2264 @param psz_name: name of vlm media instance. 2265 @param i_instance: instance id. 2266 @return: time as integer or -1 on error. 2267 ''' 2268 return libvlc_vlm_get_media_instance_time(self, str_to_bytes(psz_name), i_instance)2269 22702272 '''Get vlm_media instance length by name or instance id. 2273 @param psz_name: name of vlm media instance. 2274 @param i_instance: instance id. 2275 @return: length of media item or -1 on error. 2276 ''' 2277 return libvlc_vlm_get_media_instance_length(self, str_to_bytes(psz_name), i_instance)2278 22792281 '''Get vlm_media instance playback rate by name or instance id. 2282 @param psz_name: name of vlm media instance. 2283 @param i_instance: instance id. 2284 @return: playback rate or -1 on error. 2285 ''' 2286 return libvlc_vlm_get_media_instance_rate(self, str_to_bytes(psz_name), i_instance)2287 22882290 '''Get vlm_media instance title number by name or instance id. 2291 @param psz_name: name of vlm media instance. 2292 @param i_instance: instance id. 2293 @return: title as number or -1 on error. 2294 @bug: will always return 0. 2295 ''' 2296 return libvlc_vlm_get_media_instance_title(self, str_to_bytes(psz_name), i_instance)2297 22982300 '''Get vlm_media instance chapter number by name or instance id. 2301 @param psz_name: name of vlm media instance. 2302 @param i_instance: instance id. 2303 @return: chapter as number or -1 on error. 2304 @bug: will always return 0. 2305 ''' 2306 return libvlc_vlm_get_media_instance_chapter(self, str_to_bytes(psz_name), i_instance)2307 23082310 '''Is libvlc instance seekable ? 2311 @param psz_name: name of vlm media instance. 2312 @param i_instance: instance id. 2313 @return: 1 if seekable, 0 if not, -1 if media does not exist. 2314 @bug: will always return 0. 2315 ''' 2316 return libvlc_vlm_get_media_instance_seekable(self, str_to_bytes(psz_name), i_instance)2317 2318 @memoize_parameterless2320 '''Get libvlc_event_manager from a vlm media. 2321 The p_event_manager is immutable, so you don't have to hold the lock. 2322 @return: libvlc_event_manager. 2323 ''' 2324 return libvlc_vlm_get_event_manager(self)2325 23262328 '''Create a media with a certain given media resource location, 2329 for instance a valid URL. 2330 @note: To refer to a local file with this function, 2331 the file://... URI syntax B{must} be used (see IETF RFC3986). 2332 We recommend using L{media_new_path}() instead when dealing with 2333 local files. 2334 See L{media_release}. 2335 @param psz_mrl: the media location. 2336 @return: the newly created media or None on error. 2337 ''' 2338 return libvlc_media_new_location(self, str_to_bytes(psz_mrl))2339 23402342 '''Create a media for an already open file descriptor. 2343 The file descriptor shall be open for reading (or reading and writing). 2344 Regular file descriptors, pipe read descriptors and character device 2345 descriptors (including TTYs) are supported on all platforms. 2346 Block device descriptors are supported where available. 2347 Directory descriptors are supported on systems that provide fdopendir(). 2348 Sockets are supported on all platforms where they are file descriptors, 2349 i.e. all except Windows. 2350 @note: This library will B{not} automatically close the file descriptor 2351 under any circumstance. Nevertheless, a file descriptor can usually only be 2352 rendered once in a media player. To render it a second time, the file 2353 descriptor should probably be rewound to the beginning with lseek(). 2354 See L{media_release}. 2355 @param fd: open file descriptor. 2356 @return: the newly created media or None on error. 2357 @version: LibVLC 1.1.5 and later. 2358 ''' 2359 return libvlc_media_new_fd(self, fd)2360 23612363 '''Create a media with custom callbacks to read the data from. 2364 @param open_cb: callback to open the custom bitstream input media. 2365 @param read_cb: callback to read data (must not be None). 2366 @param seek_cb: callback to seek, or None if seeking is not supported. 2367 @param close_cb: callback to close the media, or None if unnecessary. 2368 @param opaque: data pointer for the open callback. 2369 @return: the newly created media or None on error @note If open_cb is None, the opaque pointer will be passed to read_cb, seek_cb and close_cb, and the stream size will be treated as unknown. @note The callbacks may be called asynchronously (from another thread). A single stream instance need not be reentrant. However the open_cb needs to be reentrant if the media is used by multiple player instances. @warning The callbacks may be used until all or any player instances that were supplied the media item are stopped. See L{media_release}. 2370 @version: LibVLC 3.0.0 and later. 2371 ''' 2372 return libvlc_media_new_callbacks(self, open_cb, read_cb, seek_cb, close_cb, opaque)2373 23742376 '''Create a media as an empty node with a given name. 2377 See L{media_release}. 2378 @param psz_name: the name of the node. 2379 @return: the new empty media or None on error. 2380 ''' 2381 return libvlc_media_new_as_node(self, str_to_bytes(psz_name))2382 23832385 '''Create a renderer discoverer object by name 2386 After this object is created, you should attach to events in order to be 2387 notified of the discoverer events. 2388 You need to call L{renderer_discoverer_start}() in order to start the 2389 discovery. 2390 See L{renderer_discoverer_event_manager}() 2391 See L{renderer_discoverer_start}(). 2392 @param psz_name: service name; use L{renderer_discoverer_list_get}() to get a list of the discoverer names available in this libVLC instance. 2393 @return: media discover object or None in case of error. 2394 @version: LibVLC 3.0.0 or later. 2395 ''' 2396 return libvlc_renderer_discoverer_new(self, str_to_bytes(psz_name))2397 23982400 '''Get media discoverer services 2401 See libvlc_renderer_list_release(). 2402 @param ppp_services: address to store an allocated array of renderer discoverer services (must be freed with libvlc_renderer_list_release() by the caller) [OUT]. 2403 @return: the number of media discoverer services (0 on error). 2404 @version: LibVLC 3.0.0 and later. 2405 ''' 2406 return libvlc_renderer_discoverer_list_get(self, ppp_services)2407 24082410 '''Backward compatibility stub. Do not use in new code. 2411 \deprecated Use L{audio_output_device_list_get}() instead. 2412 @return: always 0. 2413 ''' 2414 return libvlc_audio_output_device_count(self, str_to_bytes(psz_audio_output))2415 24162418 '''Backward compatibility stub. Do not use in new code. 2419 \deprecated Use L{audio_output_device_list_get}() instead. 2420 @return: always None. 2421 ''' 2422 return libvlc_audio_output_device_longname(self, str_to_bytes(psz_output), i_device)2423 24242426 '''Backward compatibility stub. Do not use in new code. 2427 \deprecated Use L{audio_output_device_list_get}() instead. 2428 @return: always None. 2429 ''' 2430 return libvlc_audio_output_device_id(self, str_to_bytes(psz_audio_output), i_device)2431 24322434 '''\deprecated Use L{media_discoverer_new}() and L{media_discoverer_start}(). 2435 ''' 2436 return libvlc_media_discoverer_new_from_name(self, str_to_bytes(psz_name))2437 24382440 '''Waits until an interface causes the instance to exit. 2441 You should start at least one interface first, using L{add_intf}(). 2442 ''' 2443 return libvlc_wait(self)2444 24452447 '''Always returns minus one. 2448 This function is only provided for backward compatibility. 2449 @return: always -1. 2450 ''' 2451 return libvlc_get_log_verbosity(self)2452 24532455 '''This function does nothing. 2456 It is only provided for backward compatibility. 2457 @param level: ignored. 2458 ''' 2459 return libvlc_set_log_verbosity(self, level)2460 24612463 '''This function does nothing useful. 2464 It is only provided for backward compatibility. 2465 @return: an unique pointer or None on error. 2466 ''' 2467 return libvlc_log_open(self)2468 24692471 '''Start playing (if there is any item in the playlist). 2472 Additionnal playlist item options can be specified for addition to the 2473 item before it is played. 2474 @param i_id: the item to play. If this is a negative number, the next item will be selected. Otherwise, the item with the given ID will be played. 2475 @param i_options: the number of options to add to the item. 2476 @param ppsz_options: the options to add to the item. 2477 ''' 2478 return libvlc_playlist_play(self, i_id, i_options, ppsz_options)2479 24802482 '''Gets the list of available audio output modules. 2483 @return: list of available audio outputs. It must be freed with In case of error, None is returned. 2484 ''' 2485 return libvlc_audio_output_list_get(self)2486 24872489 '''Gets a list of audio output devices for a given audio output module, 2490 See L{audio_output_device_set}(). 2491 @note: Not all audio outputs support this. In particular, an empty (None) 2492 list of devices does B{not} imply that the specified audio output does 2493 not work. 2494 @note: The list might not be exhaustive. 2495 @warning: Some audio output devices in the list might not actually work in 2496 some circumstances. By default, it is recommended to not specify any 2497 explicit audio device. 2498 @param aout: audio output name (as returned by L{audio_output_list_get}()). 2499 @return: A None-terminated linked list of potential audio output devices. It must be freed with L{audio_output_device_list_release}(). 2500 @version: LibVLC 2.1.0 or later. 2501 ''' 2502 return libvlc_audio_output_device_list_get(self, str_to_bytes(aout))2505 '''Create a new VLC log iterator. 2506 2507 ''' 2508 2513 251625412518 if self.has_next(): 2519 b = LogMessage() 2520 i = libvlc_log_iterator_next(self, b) 2521 return i.contents 2522 raise StopIteration25232525 return self.next()2526 2527 25282530 '''Frees memory allocated by L{log_get_iterator}(). 2531 ''' 2532 return libvlc_log_iterator_free(self)2533 25342536 '''Always returns zero. 2537 This function is only provided for backward compatibility. 2538 @return: always zero. 2539 ''' 2540 return libvlc_log_iterator_has_next(self)2543 '''Create a new Media instance. 2544 2545 Usage: Media(MRL, *options) 2546 2547 See vlc.Instance.media_new documentation for details. 2548 2549 ''' 255028972552 if args: 2553 i = args[0] 2554 if isinstance(i, _Ints): 2555 return _Constructor(cls, i) 2556 if isinstance(i, Instance): 2557 return i.media_new(*args[1:]) 2558 2559 o = get_default_instance().media_new(*args) 2560 return o2561 25642566 """Add a list of options to the media. 2567 2568 Options must be written without the double-dash. Warning: most 2569 audio and video options, such as text renderer, have no 2570 effects on an individual media. These options must be set at 2571 the vlc.Instance or vlc.MediaPlayer instanciation. 2572 2573 @param options: optional media option=value strings 2574 """ 2575 for o in options: 2576 self.add_option(o)25772579 """Get media descriptor's elementary streams description 2580 Note, you need to call L{parse}() or play the media at least once 2581 before calling this function. 2582 Not doing this will result in an empty array. 2583 The result must be freed with L{tracks_release}. 2584 @version: LibVLC 2.1.0 and later. 2585 """ 2586 mediaTrack_pp = ctypes.POINTER(MediaTrack)() 2587 n = libvlc_media_tracks_get(self, ctypes.byref(mediaTrack_pp)) 2588 info = ctypes.cast(mediaTrack_pp, ctypes.POINTER(ctypes.POINTER(MediaTrack) * n)) 2589 try: 2590 contents = info.contents 2591 except ValueError: 2592 # Media not parsed, no info. 2593 return None 2594 tracks = ( contents[i].contents for i in range(len(contents)) ) 2595 # libvlc_media_tracks_release(mediaTrack_pp, n) 2596 return tracks2597 2598 25992601 '''Add an option to the media. 2602 This option will be used to determine how the media_player will 2603 read the media. This allows to use VLC's advanced 2604 reading/streaming options on a per-media basis. 2605 @note: The options are listed in 'vlc --long-help' from the command line, 2606 e.g. "-sout-all". Keep in mind that available options and their semantics 2607 vary across LibVLC versions and builds. 2608 @warning: Not all options affects L{Media} objects: 2609 Specifically, due to architectural issues most audio and video options, 2610 such as text renderer options, have no effects on an individual media. 2611 These options must be set through L{new}() instead. 2612 @param psz_options: the options (as a string). 2613 ''' 2614 return libvlc_media_add_option(self, str_to_bytes(psz_options))2615 26162618 '''Add an option to the media with configurable flags. 2619 This option will be used to determine how the media_player will 2620 read the media. This allows to use VLC's advanced 2621 reading/streaming options on a per-media basis. 2622 The options are detailed in vlc --long-help, for instance 2623 "--sout-all". Note that all options are not usable on medias: 2624 specifically, due to architectural issues, video-related options 2625 such as text renderer options cannot be set on a single media. They 2626 must be set on the whole libvlc instance instead. 2627 @param psz_options: the options (as a string). 2628 @param i_flags: the flags for this option. 2629 ''' 2630 return libvlc_media_add_option_flag(self, str_to_bytes(psz_options), i_flags)2631 26322634 '''Retain a reference to a media descriptor object (L{Media}). Use 2635 L{release}() to decrement the reference count of a 2636 media descriptor object. 2637 ''' 2638 return libvlc_media_retain(self)2639 26402642 '''Decrement the reference count of a media descriptor object. If the 2643 reference count is 0, then L{release}() will release the 2644 media descriptor object. It will send out an libvlc_MediaFreed event 2645 to all listeners. If the media descriptor object has been released it 2646 should not be used again. 2647 ''' 2648 return libvlc_media_release(self)2649 26502652 '''Get the media resource locator (mrl) from a media descriptor object. 2653 @return: string with mrl of media descriptor object. 2654 ''' 2655 return libvlc_media_get_mrl(self)2656 2657 2662 26632665 '''Read the meta of the media. 2666 If the media has not yet been parsed this will return None. 2667 See L{parse} 2668 See L{parse_with_options} 2669 See libvlc_MediaMetaChanged. 2670 @param e_meta: the meta to read. 2671 @return: the media's meta. 2672 ''' 2673 return libvlc_media_get_meta(self, e_meta)2674 26752677 '''Set the meta of the media (this function will not save the meta, call 2678 L{save_meta} in order to save the meta). 2679 @param e_meta: the meta to write. 2680 @param psz_value: the media's meta. 2681 ''' 2682 return libvlc_media_set_meta(self, e_meta, str_to_bytes(psz_value))2683 26842686 '''Save the meta previously set. 2687 @return: true if the write operation was successful. 2688 ''' 2689 return libvlc_media_save_meta(self)2690 26912693 '''Get current state of media descriptor object. Possible media states are 2694 libvlc_NothingSpecial=0, libvlc_Opening, libvlc_Playing, libvlc_Paused, 2695 libvlc_Stopped, libvlc_Ended, libvlc_Error. 2696 See L{State}. 2697 @return: state of media descriptor object. 2698 ''' 2699 return libvlc_media_get_state(self)2700 27012703 '''Get the current statistics about the media. 2704 @param p_stats:: structure that contain the statistics about the media (this structure must be allocated by the caller). 2705 @return: true if the statistics are available, false otherwise \libvlc_return_bool. 2706 ''' 2707 return libvlc_media_get_stats(self, p_stats)2708 27092711 '''Get subitems of media descriptor object. This will increment 2712 the reference count of supplied media descriptor object. Use 2713 L{list_release}() to decrement the reference counting. 2714 @return: list of media descriptor subitems or None. 2715 ''' 2716 return libvlc_media_subitems(self)2717 2718 @memoize_parameterless2720 '''Get event manager from media descriptor object. 2721 NOTE: this function doesn't increment reference counting. 2722 @return: event manager object. 2723 ''' 2724 return libvlc_media_event_manager(self)2725 27262728 '''Get duration (in ms) of media descriptor object item. 2729 @return: duration of media item or -1 on error. 2730 ''' 2731 return libvlc_media_get_duration(self)2732 27332735 '''Parse the media asynchronously with options. 2736 This fetches (local or network) art, meta data and/or tracks information. 2737 This method is the extended version of L{parse_with_options}(). 2738 To track when this is over you can listen to libvlc_MediaParsedChanged 2739 event. However if this functions returns an error, you will not receive any 2740 events. 2741 It uses a flag to specify parse options (see L{MediaParseFlag}). All 2742 these flags can be combined. By default, media is parsed if it's a local 2743 file. 2744 @note: Parsing can be aborted with L{parse_stop}(). 2745 See libvlc_MediaParsedChanged 2746 See L{get_meta} 2747 See L{tracks_get} 2748 See L{get_parsed_status} 2749 See L{MediaParseFlag}. 2750 @param parse_flag: parse options: 2751 @param timeout: maximum time allowed to preparse the media. If -1, the default "preparse-timeout" option will be used as a timeout. If 0, it will wait indefinitely. If > 0, the timeout will be used (in milliseconds). 2752 @return: -1 in case of error, 0 otherwise. 2753 @version: LibVLC 3.0.0 or later. 2754 ''' 2755 return libvlc_media_parse_with_options(self, parse_flag, timeout)2756 27572759 '''Stop the parsing of the media 2760 When the media parsing is stopped, the libvlc_MediaParsedChanged event will 2761 be sent with the libvlc_media_parsed_status_timeout status. 2762 See L{parse_with_options}. 2763 @version: LibVLC 3.0.0 or later. 2764 ''' 2765 return libvlc_media_parse_stop(self)2766 27672769 '''Get Parsed status for media descriptor object. 2770 See libvlc_MediaParsedChanged 2771 See L{MediaParsedStatus}. 2772 @return: a value of the L{MediaParsedStatus} enum. 2773 @version: LibVLC 3.0.0 or later. 2774 ''' 2775 return libvlc_media_get_parsed_status(self)2776 27772779 '''Sets media descriptor's user_data. user_data is specialized data 2780 accessed by the host application, VLC.framework uses it as a pointer to 2781 an native object that references a L{Media} pointer. 2782 @param p_new_user_data: pointer to user data. 2783 ''' 2784 return libvlc_media_set_user_data(self, p_new_user_data)2785 27862788 '''Get media descriptor's user_data. user_data is specialized data 2789 accessed by the host application, VLC.framework uses it as a pointer to 2790 an native object that references a L{Media} pointer. 2791 ''' 2792 return libvlc_media_get_user_data(self)2793 27942796 '''Get the media type of the media descriptor object. 2797 @return: media type. 2798 @version: LibVLC 3.0.0 and later. See L{MediaType}. 2799 ''' 2800 return libvlc_media_get_type(self)2801 28022804 '''Add a slave to the current media. 2805 A slave is an external input source that may contains an additional subtitle 2806 track (like a .srt) or an additional audio track (like a .ac3). 2807 @note: This function must be called before the media is parsed (via 2808 L{parse_with_options}()) or before the media is played (via 2809 L{player_play}()). 2810 @param i_type: subtitle or audio. 2811 @param i_priority: from 0 (low priority) to 4 (high priority). 2812 @param psz_uri: Uri of the slave (should contain a valid scheme). 2813 @return: 0 on success, -1 on error. 2814 @version: LibVLC 3.0.0 and later. 2815 ''' 2816 return libvlc_media_slaves_add(self, i_type, i_priority, str_to_bytes(psz_uri))2817 28182820 '''Clear all slaves previously added by L{slaves_add}() or 2821 internally. 2822 @version: LibVLC 3.0.0 and later. 2823 ''' 2824 return libvlc_media_slaves_clear(self)2825 28262828 '''Get a media descriptor's slave list 2829 The list will contain slaves parsed by VLC or previously added by 2830 L{slaves_add}(). The typical use case of this function is to save 2831 a list of slave in a database for a later use. 2832 @param ppp_slaves: address to store an allocated array of slaves (must be freed with L{slaves_release}()) [OUT]. 2833 @return: the number of slaves (zero on error). 2834 @version: LibVLC 3.0.0 and later. See L{slaves_add}. 2835 ''' 2836 return libvlc_media_slaves_get(self, ppp_slaves)2837 28382840 '''Parse a media. 2841 This fetches (local) art, meta data and tracks information. 2842 The method is synchronous. 2843 \deprecated This function could block indefinitely. 2844 Use L{parse_with_options}() instead 2845 See L{parse_with_options} 2846 See L{get_meta} 2847 See L{get_tracks_info}. 2848 ''' 2849 return libvlc_media_parse(self)2850 28512853 '''Parse a media. 2854 This fetches (local) art, meta data and tracks information. 2855 The method is the asynchronous of L{parse}(). 2856 To track when this is over you can listen to libvlc_MediaParsedChanged 2857 event. However if the media was already parsed you will not receive this 2858 event. 2859 \deprecated You can't be sure to receive the libvlc_MediaParsedChanged 2860 event (you can wait indefinitely for this event). 2861 Use L{parse_with_options}() instead 2862 See L{parse} 2863 See libvlc_MediaParsedChanged 2864 See L{get_meta} 2865 See L{get_tracks_info}. 2866 ''' 2867 return libvlc_media_parse_async(self)2868 28692871 '''Return true is the media descriptor object is parsed 2872 \deprecated This can return true in case of failure. 2873 Use L{get_parsed_status}() instead 2874 See libvlc_MediaParsedChanged. 2875 @return: true if media object has been parsed otherwise it returns false \libvlc_return_bool. 2876 ''' 2877 return libvlc_media_is_parsed(self)2878 28792881 '''Get media descriptor's elementary streams description 2882 Note, you need to call L{parse}() or play the media at least once 2883 before calling this function. 2884 Not doing this will result in an empty array. 2885 \deprecated Use L{tracks_get}() instead. 2886 @param tracks: address to store an allocated array of Elementary Streams descriptions (must be freed by the caller) [OUT]. 2887 @return: the number of Elementary Streams. 2888 ''' 2889 return libvlc_media_get_tracks_info(self)2890 28912893 '''Create a Media Player object from a Media. 2894 @return: a new media player object, or None on error. 2895 ''' 2896 return libvlc_media_player_new_from_media(self)2899 '''N/A 2900 ''' 2901 290629632908 '''Start media discovery. 2909 To stop it, call L{stop}() or 2910 L{list_release}() directly. 2911 See L{stop}. 2912 @return: -1 in case of error, 0 otherwise. 2913 @version: LibVLC 3.0.0 or later. 2914 ''' 2915 return libvlc_media_discoverer_start(self)2916 29172919 '''Stop media discovery. 2920 See L{start}. 2921 @version: LibVLC 3.0.0 or later. 2922 ''' 2923 return libvlc_media_discoverer_stop(self)2924 29252927 '''Release media discover object. If the reference count reaches 0, then 2928 the object will be released. 2929 ''' 2930 return libvlc_media_discoverer_release(self)2931 29322934 '''Get media service discover media list. 2935 @return: list of media items. 2936 ''' 2937 return libvlc_media_discoverer_media_list(self)2938 29392941 '''Query if media service discover object is running. 2942 @return: true if running, false if not \libvlc_return_bool. 2943 ''' 2944 return libvlc_media_discoverer_is_running(self)2945 29462948 '''Get media service discover object its localized name. 2949 \deprecated Useless, use L{list_get}() to get the 2950 longname of the service discovery. 2951 @return: localized name or None if the media_discoverer is not started. 2952 ''' 2953 return libvlc_media_discoverer_localized_name(self)2954 2955 @memoize_parameterless2957 '''Get event manager from media service discover object. 2958 \deprecated Useless, media_discoverer events are only triggered when calling 2959 L{start}() and L{stop}(). 2960 @return: event manager object. 2961 ''' 2962 return libvlc_media_discoverer_event_manager(self)2965 '''N/A 2966 ''' 2967 297230012974 '''Release media library object. This functions decrements the 2975 reference count of the media library object. If it reaches 0, 2976 then the object will be released. 2977 ''' 2978 return libvlc_media_library_release(self)2979 29802982 '''Retain a reference to a media library object. This function will 2983 increment the reference counting for this object. Use 2984 L{release}() to decrement the reference count. 2985 ''' 2986 return libvlc_media_library_retain(self)2987 29882990 '''Load media library. 2991 @return: 0 on success, -1 on error. 2992 ''' 2993 return libvlc_media_library_load(self)2994 29952997 '''Get media library subitems. 2998 @return: media list subitems. 2999 ''' 3000 return libvlc_media_library_media_list(self)3003 '''Create a new MediaList instance. 3004 3005 Usage: MediaList(list_of_MRLs) 3006 3007 See vlc.Instance.media_list_new documentation for details. 3008 3009 ''' 301031513012 if args: 3013 i = args[0] 3014 if isinstance(i, _Ints): 3015 return _Constructor(cls, i) 3016 if isinstance(i, Instance): 3017 return i.media_list_new(*args[1:]) 3018 3019 o = get_default_instance().media_list_new(*args) 3020 return o3021 30243026 """Add media instance to media list. 3027 3028 The L{lock} should be held upon entering this function. 3029 @param mrl: a media instance or a MRL. 3030 @return: 0 on success, -1 if the media list is read-only. 3031 """ 3032 mrl = try_fspath(mrl) 3033 if isinstance(mrl, basestring): 3034 mrl = (self.get_instance() or get_default_instance()).media_new(mrl) 3035 return libvlc_media_list_add_media(self, mrl)3036 3037 30383040 '''Release media list created with L{new}(). 3041 ''' 3042 return libvlc_media_list_release(self)3043 3044 3049 30503052 '''Associate media instance with this media list instance. 3053 If another media instance was present it will be released. 3054 The L{lock} should NOT be held upon entering this function. 3055 @param p_md: media instance to add. 3056 ''' 3057 return libvlc_media_list_set_media(self, p_md)3058 30593061 '''Get media instance from this media list instance. This action will increase 3062 the refcount on the media instance. 3063 The L{lock} should NOT be held upon entering this function. 3064 @return: media instance. 3065 ''' 3066 return libvlc_media_list_media(self)3067 30683070 '''Insert media instance in media list on a position 3071 The L{lock} should be held upon entering this function. 3072 @param p_md: a media instance. 3073 @param i_pos: position in array where to insert. 3074 @return: 0 on success, -1 if the media list is read-only. 3075 ''' 3076 return libvlc_media_list_insert_media(self, p_md, i_pos)3077 30783080 '''Remove media instance from media list on a position 3081 The L{lock} should be held upon entering this function. 3082 @param i_pos: position in array where to insert. 3083 @return: 0 on success, -1 if the list is read-only or the item was not found. 3084 ''' 3085 return libvlc_media_list_remove_index(self, i_pos)3086 30873089 '''Get count on media list items 3090 The L{lock} should be held upon entering this function. 3091 @return: number of items in media list. 3092 ''' 3093 return libvlc_media_list_count(self)30943096 return libvlc_media_list_count(self)3097 30983100 '''List media instance in media list at a position 3101 The L{lock} should be held upon entering this function. 3102 @param i_pos: position in array where to insert. 3103 @return: media instance at position i_pos, or None if not found. In case of success, L{media_retain}() is called to increase the refcount on the media. 3104 ''' 3105 return libvlc_media_list_item_at_index(self, i_pos)31063108 return libvlc_media_list_item_at_index(self, i)3109 3113 31143116 '''Find index position of List media instance in media list. 3117 Warning: the function will return the first matched position. 3118 The L{lock} should be held upon entering this function. 3119 @param p_md: media instance. 3120 @return: position of media instance or -1 if media not found. 3121 ''' 3122 return libvlc_media_list_index_of_item(self, p_md)3123 31243126 '''This indicates if this media list is read-only from a user point of view. 3127 @return: 1 on readonly, 0 on readwrite \libvlc_return_bool. 3128 ''' 3129 return libvlc_media_list_is_readonly(self)3130 3131 3136 31373139 '''Release lock on media list items 3140 The L{lock} should be held upon entering this function. 3141 ''' 3142 return libvlc_media_list_unlock(self)3143 3144 @memoize_parameterless3146 '''Get libvlc_event_manager from this media list instance. 3147 The p_event_manager is immutable, so you don't have to hold the lock. 3148 @return: libvlc_event_manager. 3149 ''' 3150 return libvlc_media_list_event_manager(self)3153 '''Create a new MediaListPlayer instance. 3154 3155 It may take as parameter either: 3156 - a vlc.Instance 3157 - nothing 3158 3159 ''' 316033073162 if arg is None: 3163 i = get_default_instance() 3164 elif isinstance(arg, Instance): 3165 i = arg 3166 elif isinstance(arg, _Ints): 3167 return _Constructor(cls, arg) 3168 else: 3169 raise TypeError('MediaListPlayer %r' % (arg,)) 3170 3171 return i.media_list_player_new()3172 3177 3178 31793181 '''Release a media_list_player after use 3182 Decrement the reference count of a media player object. If the 3183 reference count is 0, then L{release}() will 3184 release the media player object. If the media player object 3185 has been released, then it should not be used again. 3186 ''' 3187 return libvlc_media_list_player_release(self)3188 31893191 '''Retain a reference to a media player list object. Use 3192 L{release}() to decrement reference count. 3193 ''' 3194 return libvlc_media_list_player_retain(self)3195 3196 @memoize_parameterless3198 '''Return the event manager of this media_list_player. 3199 @return: the event manager. 3200 ''' 3201 return libvlc_media_list_player_event_manager(self)3202 32033205 '''Replace media player in media_list_player with this instance. 3206 @param p_mi: media player instance. 3207 ''' 3208 return libvlc_media_list_player_set_media_player(self, p_mi)3209 32103212 '''Get media player of the media_list_player instance. 3213 @return: media player instance @note the caller is responsible for releasing the returned instance. 3214 ''' 3215 return libvlc_media_list_player_get_media_player(self)3216 32173219 '''Set the media list associated with the player. 3220 @param p_mlist: list of media. 3221 ''' 3222 return libvlc_media_list_player_set_media_list(self, p_mlist)3223 3224 3229 32303232 '''Toggle pause (or resume) media list. 3233 ''' 3234 return libvlc_media_list_player_pause(self)3235 32363238 '''Pause or resume media list. 3239 @param do_pause: play/resume if zero, pause if non-zero. 3240 @version: LibVLC 3.0.0 or later. 3241 ''' 3242 return libvlc_media_list_player_set_pause(self, do_pause)3243 32443246 '''Is media list playing? 3247 @return: true for playing and false for not playing \libvlc_return_bool. 3248 ''' 3249 return libvlc_media_list_player_is_playing(self)3250 32513253 '''Get current libvlc_state of media list player. 3254 @return: L{State} for media list player. 3255 ''' 3256 return libvlc_media_list_player_get_state(self)3257 32583260 '''Play media list item at position index. 3261 @param i_index: index in media list to play. 3262 @return: 0 upon success -1 if the item wasn't found. 3263 ''' 3264 return libvlc_media_list_player_play_item_at_index(self, i_index)32653267 return libvlc_media_list_player_play_item_at_index(self, i)3268 3272 32733275 '''Play the given media item. 3276 @param p_md: the media instance. 3277 @return: 0 upon success, -1 if the media is not part of the media list. 3278 ''' 3279 return libvlc_media_list_player_play_item(self, p_md)3280 3281 3286 32873289 '''Play next item from media list. 3290 @return: 0 upon success -1 if there is no next item. 3291 ''' 3292 return libvlc_media_list_player_next(self)3293 32943296 '''Play previous item from media list. 3297 @return: 0 upon success -1 if there is no previous item. 3298 ''' 3299 return libvlc_media_list_player_previous(self)3300 33013303 '''Sets the playback mode for the playlist. 3304 @param e_mode: playback mode specification. 3305 ''' 3306 return libvlc_media_list_player_set_playback_mode(self, e_mode)3309 '''Create a new MediaPlayer instance. 3310 3311 It may take as parameter either: 3312 - a string (media URI), options... In this case, a vlc.Instance will be created. 3313 - a vlc.Instance, a string (media URI), options... 3314 3315 ''' 331645083318 if len(args) == 1 and isinstance(args[0], _Ints): 3319 return _Constructor(cls, args[0]) 3320 3321 if args and isinstance(args[0], Instance): 3322 instance = args[0] 3323 args = args[1:] 3324 else: 3325 instance = get_default_instance() 3326 3327 o = instance.media_player_new() 3328 if args: 3329 o.set_media(instance.media_new(*args)) 3330 return o3331 33363338 """Set the MRL to play. 3339 3340 Warning: most audio and video options, such as text renderer, 3341 have no effects on an individual media. These options must be 3342 set at the vlc.Instance or vlc.MediaPlayer instanciation. 3343 3344 @param mrl: The MRL 3345 @param options: optional media option=value strings 3346 @return: the Media object 3347 """ 3348 m = self.get_instance().media_new(mrl, *options) 3349 self.set_media(m) 3350 return m33513353 """Get the description of available video subtitles. 3354 """ 3355 return track_description_list(libvlc_video_get_spu_description(self))33563358 """Get the description of available video tracks. 3359 """ 3360 return track_description_list(libvlc_video_get_track_description(self))33613363 """Get the description of available audio tracks. 3364 """ 3365 return track_description_list(libvlc_audio_get_track_description(self))33663368 '''Get the full description of available titles. 3369 @return: the titles list 3370 @version: LibVLC 3.0.0 and later. 3371 ''' 3372 titleDescription_pp = ctypes.POINTER(TitleDescription)() 3373 n = libvlc_media_player_get_full_title_descriptions(self, ctypes.byref(titleDescription_pp)) 3374 info = ctypes.cast(titleDescription_pp, ctypes.POINTER(ctypes.POINTER(TitleDescription) * n)) 3375 try: 3376 contents = info.contents 3377 except ValueError: 3378 # Media not parsed, no info. 3379 return None 3380 descr = ( contents[i].contents for i in range(len(contents)) ) 3381 return descr33823384 '''Get the full description of available chapters. 3385 @param i_chapters_of_title: index of the title to query for chapters (uses current title if set to -1). 3386 @return: the chapters list 3387 @version: LibVLC 3.0.0 and later. 3388 ''' 3389 chapterDescription_pp = ctypes.POINTER(ChapterDescription)() 3390 n = libvlc_media_player_get_full_chapter_descriptions(self, ctypes.byref(chapterDescription_pp)) 3391 info = ctypes.cast(chapterDescription_pp, ctypes.POINTER(ctypes.POINTER(ChapterDescription) * n)) 3392 try: 3393 contents = info.contents 3394 except ValueError: 3395 # Media not parsed, no info. 3396 return None 3397 descr = ( contents[i].contents for i in range(len(contents)) ) 3398 return descr33993401 """Get the video size in pixels as 2-tuple (width, height). 3402 3403 @param num: video number (default 0). 3404 """ 3405 r = libvlc_video_get_size(self, num) 3406 if isinstance(r, tuple) and len(r) == 2: 3407 return r 3408 else: 3409 raise VLCException('invalid video number (%s)' % (num,))34103412 """Set a Win32/Win64 API window handle (HWND). 3413 3414 Specify where the media player should render its video 3415 output. If LibVLC was built without Win32/Win64 API output 3416 support, then this has no effects. 3417 3418 @param drawable: windows handle of the drawable. 3419 """ 3420 if not isinstance(drawable, ctypes.c_void_p): 3421 drawable = ctypes.c_void_p(int(drawable)) 3422 libvlc_media_player_set_hwnd(self, drawable)34233425 """Get the width of a video in pixels. 3426 3427 @param num: video number (default 0). 3428 """ 3429 return self.video_get_size(num)[0]34303432 """Get the height of a video in pixels. 3433 3434 @param num: video number (default 0). 3435 """ 3436 return self.video_get_size(num)[1]34373439 """Get the mouse pointer coordinates over a video as 2-tuple (x, y). 3440 3441 Coordinates are expressed in terms of the decoded video resolution, 3442 B{not} in terms of pixels on the screen/viewport. To get the 3443 latter, you must query your windowing system directly. 3444 3445 Either coordinate may be negative or larger than the corresponding 3446 size of the video, if the cursor is outside the rendering area. 3447 3448 @warning: The coordinates may be out-of-date if the pointer is not 3449 located on the video rendering area. LibVLC does not track the 3450 mouse pointer if the latter is outside the video widget. 3451 3452 @note: LibVLC does not support multiple mouse pointers (but does 3453 support multiple input devices sharing the same pointer). 3454 3455 @param num: video number (default 0). 3456 """ 3457 r = libvlc_video_get_cursor(self, num) 3458 if isinstance(r, tuple) and len(r) == 2: 3459 return r 3460 raise VLCException('invalid video number (%s)' % (num,))3461 3462 34633465 '''Get movie fps rate 3466 This function is provided for backward compatibility. It cannot deal with 3467 multiple video tracks. In LibVLC versions prior to 3.0, it would also fail 3468 if the file format did not convey the frame rate explicitly. 3469 \deprecated Consider using L{media_tracks_get}() instead. 3470 @return: frames per second (fps) for this playing movie, or 0 if unspecified. 3471 ''' 3472 return libvlc_media_player_get_fps(self)3473 34743476 '''\deprecated Use L{set_nsobject}() instead. 3477 ''' 3478 return libvlc_media_player_set_agl(self, drawable)3479 34803482 '''\deprecated Use L{get_nsobject}() instead. 3483 ''' 3484 return libvlc_media_player_get_agl(self)3485 34863488 '''Get the description of available titles. 3489 @return: list containing description of available titles. It must be freed with L{track_description_list_release}(). 3490 ''' 3491 return libvlc_video_get_title_description(self)3492 34933495 '''Get the description of available chapters for specific title. 3496 @param i_title: selected title. 3497 @return: list containing description of available chapter for title i_title. It must be freed with L{track_description_list_release}(). 3498 ''' 3499 return libvlc_video_get_chapter_description(self, i_title)3500 35013503 '''Set new video subtitle file. 3504 \deprecated Use L{add_slave}() instead. 3505 @param psz_subtitle: new video subtitle file. 3506 @return: the success status (boolean). 3507 ''' 3508 return libvlc_video_set_subtitle_file(self, str_to_bytes(psz_subtitle))3509 35103512 '''Toggle teletext transparent status on video output. 3513 \deprecated use L{video_set_teletext}() instead. 3514 ''' 3515 return libvlc_toggle_teletext(self)3516 35173519 '''Release a media_player after use 3520 Decrement the reference count of a media player object. If the 3521 reference count is 0, then L{release}() will 3522 release the media player object. If the media player object 3523 has been released, then it should not be used again. 3524 ''' 3525 return libvlc_media_player_release(self)3526 35273529 '''Retain a reference to a media player object. Use 3530 L{release}() to decrement reference count. 3531 ''' 3532 return libvlc_media_player_retain(self)3533 35343536 '''Set the media that will be used by the media_player. If any, 3537 previous md will be released. 3538 @param p_md: the Media. Afterwards the p_md can be safely destroyed. 3539 ''' 3540 return libvlc_media_player_set_media(self, p_md)3541 35423544 '''Get the media used by the media_player. 3545 @return: the media associated with p_mi, or None if no media is associated. 3546 ''' 3547 return libvlc_media_player_get_media(self)3548 3549 @memoize_parameterless3551 '''Get the Event Manager from which the media player send event. 3552 @return: the event manager associated with p_mi. 3553 ''' 3554 return libvlc_media_player_event_manager(self)3555 35563558 '''is_playing. 3559 @return: 1 if the media player is playing, 0 otherwise \libvlc_return_bool. 3560 ''' 3561 return libvlc_media_player_is_playing(self)3562 35633565 '''Play. 3566 @return: 0 if playback started (and was already started), or -1 on error. 3567 ''' 3568 return libvlc_media_player_play(self)3569 35703572 '''Pause or resume (no effect if there is no media). 3573 @param do_pause: play/resume if zero, pause if non-zero. 3574 @version: LibVLC 1.1.1 or later. 3575 ''' 3576 return libvlc_media_player_set_pause(self, do_pause)3577 35783580 '''Toggle pause (no effect if there is no media). 3581 ''' 3582 return libvlc_media_player_pause(self)3583 3584 3589 35903592 '''Set a renderer to the media player 3593 @note: must be called before the first call of L{play}() to 3594 take effect. 3595 See L{renderer_discoverer_new}. 3596 @param p_item: an item discovered by L{renderer_discoverer_start}(). 3597 @return: 0 on success, -1 on error. 3598 @version: LibVLC 3.0.0 or later. 3599 ''' 3600 return libvlc_media_player_set_renderer(self, p_item)3601 36023604 '''Set callbacks and private data to render decoded video to a custom area 3605 in memory. 3606 Use L{video_set_format}() or L{video_set_format_callbacks}() 3607 to configure the decoded format. 3608 @warning: Rendering video into custom memory buffers is considerably less 3609 efficient than rendering in a custom window as normal. 3610 For optimal perfomances, VLC media player renders into a custom window, and 3611 does not use this function and associated callbacks. It is B{highly 3612 recommended} that other LibVLC-based application do likewise. 3613 To embed video in a window, use libvlc_media_player_set_xid() or equivalent 3614 depending on the operating system. 3615 If window embedding does not fit the application use case, then a custom 3616 LibVLC video output display plugin is required to maintain optimal video 3617 rendering performances. 3618 The following limitations affect performance: 3619 - Hardware video decoding acceleration will either be disabled completely, 3620 or require (relatively slow) copy from video/DSP memory to main memory. 3621 - Sub-pictures (subtitles, on-screen display, etc.) must be blent into the 3622 main picture by the CPU instead of the GPU. 3623 - Depending on the video format, pixel format conversion, picture scaling, 3624 cropping and/or picture re-orientation, must be performed by the CPU 3625 instead of the GPU. 3626 - Memory copying is required between LibVLC reference picture buffers and 3627 application buffers (between lock and unlock callbacks). 3628 @param lock: callback to lock video memory (must not be None). 3629 @param unlock: callback to unlock video memory (or None if not needed). 3630 @param display: callback to display video (or None if not needed). 3631 @param opaque: private pointer for the three callbacks (as first parameter). 3632 @version: LibVLC 1.1.1 or later. 3633 ''' 3634 return libvlc_video_set_callbacks(self, lock, unlock, display, opaque)3635 36363638 '''Set decoded video chroma and dimensions. 3639 This only works in combination with L{video_set_callbacks}(), 3640 and is mutually exclusive with L{video_set_format_callbacks}(). 3641 @param chroma: a four-characters string identifying the chroma (e.g. "RV32" or "YUYV"). 3642 @param width: pixel width. 3643 @param height: pixel height. 3644 @param pitch: line pitch (in bytes). 3645 @version: LibVLC 1.1.1 or later. 3646 @bug: All pixel planes are expected to have the same pitch. To use the YCbCr color space with chrominance subsampling, consider using L{video_set_format_callbacks}() instead. 3647 ''' 3648 return libvlc_video_set_format(self, str_to_bytes(chroma), width, height, pitch)3649 36503652 '''Set decoded video chroma and dimensions. This only works in combination with 3653 L{video_set_callbacks}(). 3654 @param setup: callback to select the video format (cannot be None). 3655 @param cleanup: callback to release any allocated resources (or None). 3656 @version: LibVLC 2.0.0 or later. 3657 ''' 3658 return libvlc_video_set_format_callbacks(self, setup, cleanup)3659 36603662 '''Set the NSView handler where the media player should render its video output. 3663 Use the vout called "macosx". 3664 The drawable is an NSObject that follow the VLCOpenGLVideoViewEmbedding 3665 protocol: 3666 @code.m 3667 \@protocol VLCOpenGLVideoViewEmbedding <NSObject> 3668 - (void)addVoutSubview:(NSView *)view; 3669 - (void)removeVoutSubview:(NSView *)view; 3670 \@end 3671 @endcode 3672 Or it can be an NSView object. 3673 If you want to use it along with Qt see the QMacCocoaViewContainer. Then 3674 the following code should work: 3675 @code.mm 3676 3677 NSView *video = [[NSView alloc] init]; 3678 QMacCocoaViewContainer *container = new QMacCocoaViewContainer(video, parent); 3679 L{set_nsobject}(mp, video); 3680 [video release]; 3681 3682 @endcode 3683 You can find a live example in VLCVideoView in VLCKit.framework. 3684 @param drawable: the drawable that is either an NSView or an object following the VLCOpenGLVideoViewEmbedding protocol. 3685 ''' 3686 return libvlc_media_player_set_nsobject(self, drawable)3687 36883690 '''Get the NSView handler previously set with L{set_nsobject}(). 3691 @return: the NSView handler or 0 if none where set. 3692 ''' 3693 return libvlc_media_player_get_nsobject(self)3694 36953697 '''Set an X Window System drawable where the media player should render its 3698 video output. The call takes effect when the playback starts. If it is 3699 already started, it might need to be stopped before changes apply. 3700 If LibVLC was built without X11 output support, then this function has no 3701 effects. 3702 By default, LibVLC will capture input events on the video rendering area. 3703 Use L{video_set_mouse_input}() and L{video_set_key_input}() to 3704 disable that and deliver events to the parent window / to the application 3705 instead. By design, the X11 protocol delivers input events to only one 3706 recipient. 3707 @warning 3708 The application must call the XInitThreads() function from Xlib before 3709 L{new}(), and before any call to XOpenDisplay() directly or via any 3710 other library. Failure to call XInitThreads() will seriously impede LibVLC 3711 performance. Calling XOpenDisplay() before XInitThreads() will eventually 3712 crash the process. That is a limitation of Xlib. 3713 @param drawable: X11 window ID @note The specified identifier must correspond to an existing Input/Output class X11 window. Pixmaps are B{not} currently supported. The default X11 server is assumed, i.e. that specified in the DISPLAY environment variable. @warning LibVLC can deal with invalid X11 handle errors, however some display drivers (EGL, GLX, VA and/or VDPAU) can unfortunately not. Thus the window handle must remain valid until playback is stopped, otherwise the process may abort or crash. 3714 @bug No more than one window handle per media player instance can be specified. If the media has multiple simultaneously active video tracks, extra tracks will be rendered into external windows beyond the control of the application. 3715 ''' 3716 return libvlc_media_player_set_xwindow(self, drawable)3717 37183720 '''Get the X Window System window identifier previously set with 3721 L{set_xwindow}(). Note that this will return the identifier 3722 even if VLC is not currently using it (for instance if it is playing an 3723 audio-only input). 3724 @return: an X window ID, or 0 if none where set. 3725 ''' 3726 return libvlc_media_player_get_xwindow(self)3727 37283730 '''Get the Windows API window handle (HWND) previously set with 3731 L{set_hwnd}(). The handle will be returned even if LibVLC 3732 is not currently outputting any video to it. 3733 @return: a window handle or None if there are none. 3734 ''' 3735 return libvlc_media_player_get_hwnd(self)3736 37373739 '''Set the android context. 3740 @param p_awindow_handler: org.videolan.libvlc.AWindow jobject owned by the org.videolan.libvlc.MediaPlayer class from the libvlc-android project. 3741 @version: LibVLC 3.0.0 and later. 3742 ''' 3743 return libvlc_media_player_set_android_context(self, p_awindow_handler)3744 37453747 '''Set the EFL Evas Object. 3748 @param p_evas_object: a valid EFL Evas Object (Evas_Object). 3749 @return: -1 if an error was detected, 0 otherwise. 3750 @version: LibVLC 3.0.0 and later. 3751 ''' 3752 return libvlc_media_player_set_evas_object(self, p_evas_object)3753 37543756 '''Sets callbacks and private data for decoded audio. 3757 Use L{audio_set_format}() or L{audio_set_format_callbacks}() 3758 to configure the decoded audio format. 3759 @note: The audio callbacks override any other audio output mechanism. 3760 If the callbacks are set, LibVLC will B{not} output audio in any way. 3761 @param play: callback to play audio samples (must not be None). 3762 @param pause: callback to pause playback (or None to ignore). 3763 @param resume: callback to resume playback (or None to ignore). 3764 @param flush: callback to flush audio buffers (or None to ignore). 3765 @param drain: callback to drain audio buffers (or None to ignore). 3766 @param opaque: private pointer for the audio callbacks (as first parameter). 3767 @version: LibVLC 2.0.0 or later. 3768 ''' 3769 return libvlc_audio_set_callbacks(self, play, pause, resume, flush, drain, opaque)3770 37713773 '''Set callbacks and private data for decoded audio. This only works in 3774 combination with L{audio_set_callbacks}(). 3775 Use L{audio_set_format}() or L{audio_set_format_callbacks}() 3776 to configure the decoded audio format. 3777 @param set_volume: callback to apply audio volume, or None to apply volume in software. 3778 @version: LibVLC 2.0.0 or later. 3779 ''' 3780 return libvlc_audio_set_volume_callback(self, set_volume)3781 37823784 '''Sets decoded audio format via callbacks. 3785 This only works in combination with L{audio_set_callbacks}(). 3786 @param setup: callback to select the audio format (cannot be None). 3787 @param cleanup: callback to release any allocated resources (or None). 3788 @version: LibVLC 2.0.0 or later. 3789 ''' 3790 return libvlc_audio_set_format_callbacks(self, setup, cleanup)3791 37923794 '''Sets a fixed decoded audio format. 3795 This only works in combination with L{audio_set_callbacks}(), 3796 and is mutually exclusive with L{audio_set_format_callbacks}(). 3797 @param format: a four-characters string identifying the sample format (e.g. "S16N" or "f32l"). 3798 @param rate: sample rate (expressed in Hz). 3799 @param channels: channels count. 3800 @version: LibVLC 2.0.0 or later. 3801 ''' 3802 return libvlc_audio_set_format(self, str_to_bytes(format), rate, channels)3803 38043806 '''Get the current movie length (in ms). 3807 @return: the movie length (in ms), or -1 if there is no media. 3808 ''' 3809 return libvlc_media_player_get_length(self)3810 38113813 '''Get the current movie time (in ms). 3814 @return: the movie time (in ms), or -1 if there is no media. 3815 ''' 3816 return libvlc_media_player_get_time(self)3817 38183820 '''Set the movie time (in ms). This has no effect if no media is being played. 3821 Not all formats and protocols support this. 3822 @param i_time: the movie time (in ms). 3823 ''' 3824 return libvlc_media_player_set_time(self, i_time)3825 38263828 '''Get movie position as percentage between 0.0 and 1.0. 3829 @return: movie position, or -1. in case of error. 3830 ''' 3831 return libvlc_media_player_get_position(self)3832 38333835 '''Set movie position as percentage between 0.0 and 1.0. 3836 This has no effect if playback is not enabled. 3837 This might not work depending on the underlying input format and protocol. 3838 @param f_pos: the position. 3839 ''' 3840 return libvlc_media_player_set_position(self, f_pos)3841 38423844 '''Set movie chapter (if applicable). 3845 @param i_chapter: chapter number to play. 3846 ''' 3847 return libvlc_media_player_set_chapter(self, i_chapter)3848 38493851 '''Get movie chapter. 3852 @return: chapter number currently playing, or -1 if there is no media. 3853 ''' 3854 return libvlc_media_player_get_chapter(self)3855 38563858 '''Get movie chapter count. 3859 @return: number of chapters in movie, or -1. 3860 ''' 3861 return libvlc_media_player_get_chapter_count(self)3862 38633865 '''Is the player able to play. 3866 @return: boolean \libvlc_return_bool. 3867 ''' 3868 return libvlc_media_player_will_play(self)3869 38703872 '''Get title chapter count. 3873 @param i_title: title. 3874 @return: number of chapters in title, or -1. 3875 ''' 3876 return libvlc_media_player_get_chapter_count_for_title(self, i_title)3877 38783880 '''Set movie title. 3881 @param i_title: title number to play. 3882 ''' 3883 return libvlc_media_player_set_title(self, i_title)3884 38853887 '''Get movie title. 3888 @return: title number currently playing, or -1. 3889 ''' 3890 return libvlc_media_player_get_title(self)3891 38923894 '''Get movie title count. 3895 @return: title number count, or -1. 3896 ''' 3897 return libvlc_media_player_get_title_count(self)3898 38993901 '''Set previous chapter (if applicable). 3902 ''' 3903 return libvlc_media_player_previous_chapter(self)3904 39053907 '''Set next chapter (if applicable). 3908 ''' 3909 return libvlc_media_player_next_chapter(self)3910 39113913 '''Get the requested movie play rate. 3914 @warning: Depending on the underlying media, the requested rate may be 3915 different from the real playback rate. 3916 @return: movie play rate. 3917 ''' 3918 return libvlc_media_player_get_rate(self)3919 39203922 '''Set movie play rate. 3923 @param rate: movie play rate to set. 3924 @return: -1 if an error was detected, 0 otherwise (but even then, it might not actually work depending on the underlying media protocol). 3925 ''' 3926 return libvlc_media_player_set_rate(self, rate)3927 39283930 '''Get current movie state. 3931 @return: the current state of the media player (playing, paused, ...) See L{State}. 3932 ''' 3933 return libvlc_media_player_get_state(self)3934 39353937 '''How many video outputs does this media player have? 3938 @return: the number of video outputs. 3939 ''' 3940 return libvlc_media_player_has_vout(self)3941 39423944 '''Is this media player seekable? 3945 @return: true if the media player can seek \libvlc_return_bool. 3946 ''' 3947 return libvlc_media_player_is_seekable(self)3948 39493951 '''Can this media player be paused? 3952 @return: true if the media player can pause \libvlc_return_bool. 3953 ''' 3954 return libvlc_media_player_can_pause(self)3955 39563958 '''Check if the current program is scrambled. 3959 @return: true if the current program is scrambled \libvlc_return_bool. 3960 @version: LibVLC 2.2.0 or later. 3961 ''' 3962 return libvlc_media_player_program_scrambled(self)3963 39643966 '''Display the next frame (if supported). 3967 ''' 3968 return libvlc_media_player_next_frame(self)3969 3970 3977 39783980 '''Set if, and how, the video title will be shown when media is played. 3981 @param position: position at which to display the title, or libvlc_position_disable to prevent the title from being displayed. 3982 @param timeout: title display timeout in milliseconds (ignored if libvlc_position_disable). 3983 @version: libVLC 2.1.0 or later. 3984 ''' 3985 return libvlc_media_player_set_video_title_display(self, position, timeout)3986 39873989 '''Add a slave to the current media player. 3990 @note: If the player is playing, the slave will be added directly. This call 3991 will also update the slave list of the attached L{Media}. 3992 @param i_type: subtitle or audio. 3993 @param psz_uri: Uri of the slave (should contain a valid scheme). 3994 @param b_select: True if this slave should be selected when it's loaded. 3995 @return: 0 on success, -1 on error. 3996 @version: LibVLC 3.0.0 and later. See L{media_slaves_add}. 3997 ''' 3998 return libvlc_media_player_add_slave(self, i_type, str_to_bytes(psz_uri), b_select)3999 40004002 '''Toggle fullscreen status on non-embedded video outputs. 4003 @warning: The same limitations applies to this function 4004 as to L{set_fullscreen}(). 4005 ''' 4006 return libvlc_toggle_fullscreen(self)4007 40084010 '''Enable or disable fullscreen. 4011 @warning: With most window managers, only a top-level windows can be in 4012 full-screen mode. Hence, this function will not operate properly if 4013 L{set_xwindow}() was used to embed the video in a 4014 non-top-level window. In that case, the embedding window must be reparented 4015 to the root window B{before} fullscreen mode is enabled. You will want 4016 to reparent it back to its normal parent when disabling fullscreen. 4017 @param b_fullscreen: boolean for fullscreen status. 4018 ''' 4019 return libvlc_set_fullscreen(self, b_fullscreen)4020 40214023 '''Get current fullscreen status. 4024 @return: the fullscreen status (boolean) \libvlc_return_bool. 4025 ''' 4026 return libvlc_get_fullscreen(self)4027 40284030 '''Enable or disable key press events handling, according to the LibVLC hotkeys 4031 configuration. By default and for historical reasons, keyboard events are 4032 handled by the LibVLC video widget. 4033 @note: On X11, there can be only one subscriber for key press and mouse 4034 click events per window. If your application has subscribed to those events 4035 for the X window ID of the video widget, then LibVLC will not be able to 4036 handle key presses and mouse clicks in any case. 4037 @warning: This function is only implemented for X11 and Win32 at the moment. 4038 @param on: true to handle key press events, false to ignore them. 4039 ''' 4040 return libvlc_video_set_key_input(self, on)4041 40424044 '''Enable or disable mouse click events handling. By default, those events are 4045 handled. This is needed for DVD menus to work, as well as a few video 4046 filters such as "puzzle". 4047 See L{video_set_key_input}(). 4048 @warning: This function is only implemented for X11 and Win32 at the moment. 4049 @param on: true to handle mouse click events, false to ignore them. 4050 ''' 4051 return libvlc_video_set_mouse_input(self, on)4052 40534055 '''Get the current video scaling factor. 4056 See also L{video_set_scale}(). 4057 @return: the currently configured zoom factor, or 0. if the video is set to fit to the output window/drawable automatically. 4058 ''' 4059 return libvlc_video_get_scale(self)4060 40614063 '''Set the video scaling factor. That is the ratio of the number of pixels on 4064 screen to the number of pixels in the original decoded video in each 4065 dimension. Zero is a special value; it will adjust the video to the output 4066 window/drawable (in windowed mode) or the entire screen. 4067 Note that not all video outputs support scaling. 4068 @param f_factor: the scaling factor, or zero. 4069 ''' 4070 return libvlc_video_set_scale(self, f_factor)4071 40724074 '''Get current video aspect ratio. 4075 @return: the video aspect ratio or None if unspecified (the result must be released with free() or L{free}()). 4076 ''' 4077 return libvlc_video_get_aspect_ratio(self)4078 40794081 '''Set new video aspect ratio. 4082 @param psz_aspect: new video aspect-ratio or None to reset to default @note Invalid aspect ratios are ignored. 4083 ''' 4084 return libvlc_video_set_aspect_ratio(self, str_to_bytes(psz_aspect))4085 40864088 '''Update the video viewpoint information. 4089 @note: It is safe to call this function before the media player is started. 4090 @param p_viewpoint: video viewpoint allocated via L{video_new_viewpoint}(). 4091 @param b_absolute: if true replace the old viewpoint with the new one. If false, increase/decrease it. 4092 @return: -1 in case of error, 0 otherwise @note the values are set asynchronously, it will be used by the next frame displayed. 4093 @version: LibVLC 3.0.0 and later. 4094 ''' 4095 return libvlc_video_update_viewpoint(self, p_viewpoint, b_absolute)4096 40974099 '''Get current video subtitle. 4100 @return: the video subtitle selected, or -1 if none. 4101 ''' 4102 return libvlc_video_get_spu(self)4103 41044106 '''Get the number of available video subtitles. 4107 @return: the number of available video subtitles. 4108 ''' 4109 return libvlc_video_get_spu_count(self)4110 41114113 '''Set new video subtitle. 4114 @param i_spu: video subtitle track to select (i_id from track description). 4115 @return: 0 on success, -1 if out of range. 4116 ''' 4117 return libvlc_video_set_spu(self, i_spu)4118 41194121 '''Get the current subtitle delay. Positive values means subtitles are being 4122 displayed later, negative values earlier. 4123 @return: time (in microseconds) the display of subtitles is being delayed. 4124 @version: LibVLC 2.0.0 or later. 4125 ''' 4126 return libvlc_video_get_spu_delay(self)4127 41284130 '''Set the subtitle delay. This affects the timing of when the subtitle will 4131 be displayed. Positive values result in subtitles being displayed later, 4132 while negative values will result in subtitles being displayed earlier. 4133 The subtitle delay will be reset to zero each time the media changes. 4134 @param i_delay: time (in microseconds) the display of subtitles should be delayed. 4135 @return: 0 on success, -1 on error. 4136 @version: LibVLC 2.0.0 or later. 4137 ''' 4138 return libvlc_video_set_spu_delay(self, i_delay)4139 41404142 '''Get current crop filter geometry. 4143 @return: the crop filter geometry or None if unset. 4144 ''' 4145 return libvlc_video_get_crop_geometry(self)4146 41474149 '''Set new crop filter geometry. 4150 @param psz_geometry: new crop filter geometry (None to unset). 4151 ''' 4152 return libvlc_video_set_crop_geometry(self, str_to_bytes(psz_geometry))4153 41544156 '''Get current teletext page requested or 0 if it's disabled. 4157 Teletext is disabled by default, call L{video_set_teletext}() to enable 4158 it. 4159 @return: the current teletext page requested. 4160 ''' 4161 return libvlc_video_get_teletext(self)4162 41634165 '''Set new teletext page to retrieve. 4166 This function can also be used to send a teletext key. 4167 @param i_page: teletex page number requested. This value can be 0 to disable teletext, a number in the range ]0;1000[ to show the requested page, or a \ref L{TeletextKey}. 100 is the default teletext page. 4168 ''' 4169 return libvlc_video_set_teletext(self, i_page)4170 41714173 '''Get number of available video tracks. 4174 @return: the number of available video tracks (int). 4175 ''' 4176 return libvlc_video_get_track_count(self)4177 41784180 '''Get current video track. 4181 @return: the video track ID (int) or -1 if no active input. 4182 ''' 4183 return libvlc_video_get_track(self)4184 41854187 '''Set video track. 4188 @param i_track: the track ID (i_id field from track description). 4189 @return: 0 on success, -1 if out of range. 4190 ''' 4191 return libvlc_video_set_track(self, i_track)4192 41934195 '''Take a snapshot of the current video window. 4196 If i_width AND i_height is 0, original size is used. 4197 If i_width XOR i_height is 0, original aspect-ratio is preserved. 4198 @param num: number of video output (typically 0 for the first/only one). 4199 @param psz_filepath: the path of a file or a folder to save the screenshot into. 4200 @param i_width: the snapshot's width. 4201 @param i_height: the snapshot's height. 4202 @return: 0 on success, -1 if the video was not found. 4203 ''' 4204 return libvlc_video_take_snapshot(self, num, str_to_bytes(psz_filepath), i_width, i_height)4205 42064208 '''Enable or disable deinterlace filter. 4209 @param psz_mode: type of deinterlace filter, None to disable. 4210 ''' 4211 return libvlc_video_set_deinterlace(self, str_to_bytes(psz_mode))4212 42134215 '''Get an integer marquee option value. 4216 @param option: marq option to get See libvlc_video_marquee_int_option_t. 4217 ''' 4218 return libvlc_video_get_marquee_int(self, option)4219 42204222 '''Get a string marquee option value. 4223 @param option: marq option to get See libvlc_video_marquee_string_option_t. 4224 ''' 4225 return libvlc_video_get_marquee_string(self, option)4226 42274229 '''Enable, disable or set an integer marquee option 4230 Setting libvlc_marquee_Enable has the side effect of enabling (arg !0) 4231 or disabling (arg 0) the marq filter. 4232 @param option: marq option to set See libvlc_video_marquee_int_option_t. 4233 @param i_val: marq option value. 4234 ''' 4235 return libvlc_video_set_marquee_int(self, option, i_val)4236 42374239 '''Set a marquee string option. 4240 @param option: marq option to set See libvlc_video_marquee_string_option_t. 4241 @param psz_text: marq option value. 4242 ''' 4243 return libvlc_video_set_marquee_string(self, option, str_to_bytes(psz_text))4244 42454247 '''Get integer logo option. 4248 @param option: logo option to get, values of L{VideoLogoOption}. 4249 ''' 4250 return libvlc_video_get_logo_int(self, option)4251 42524254 '''Set logo option as integer. Options that take a different type value 4255 are ignored. 4256 Passing libvlc_logo_enable as option value has the side effect of 4257 starting (arg !0) or stopping (arg 0) the logo filter. 4258 @param option: logo option to set, values of L{VideoLogoOption}. 4259 @param value: logo option value. 4260 ''' 4261 return libvlc_video_set_logo_int(self, option, value)4262 42634265 '''Set logo option as string. Options that take a different type value 4266 are ignored. 4267 @param option: logo option to set, values of L{VideoLogoOption}. 4268 @param psz_value: logo option value. 4269 ''' 4270 return libvlc_video_set_logo_string(self, option, str_to_bytes(psz_value))4271 42724274 '''Get integer adjust option. 4275 @param option: adjust option to get, values of L{VideoAdjustOption}. 4276 @version: LibVLC 1.1.1 and later. 4277 ''' 4278 return libvlc_video_get_adjust_int(self, option)4279 42804282 '''Set adjust option as integer. Options that take a different type value 4283 are ignored. 4284 Passing libvlc_adjust_enable as option value has the side effect of 4285 starting (arg !0) or stopping (arg 0) the adjust filter. 4286 @param option: adust option to set, values of L{VideoAdjustOption}. 4287 @param value: adjust option value. 4288 @version: LibVLC 1.1.1 and later. 4289 ''' 4290 return libvlc_video_set_adjust_int(self, option, value)4291 42924294 '''Get float adjust option. 4295 @param option: adjust option to get, values of L{VideoAdjustOption}. 4296 @version: LibVLC 1.1.1 and later. 4297 ''' 4298 return libvlc_video_get_adjust_float(self, option)4299 43004302 '''Set adjust option as float. Options that take a different type value 4303 are ignored. 4304 @param option: adust option to set, values of L{VideoAdjustOption}. 4305 @param value: adjust option value. 4306 @version: LibVLC 1.1.1 and later. 4307 ''' 4308 return libvlc_video_set_adjust_float(self, option, value)4309 43104312 '''Selects an audio output module. 4313 @note: Any change will take be effect only after playback is stopped and 4314 restarted. Audio output cannot be changed while playing. 4315 @param psz_name: name of audio output, use psz_name of See L{AudioOutput}. 4316 @return: 0 if function succeeded, -1 on error. 4317 ''' 4318 return libvlc_audio_output_set(self, str_to_bytes(psz_name))4319 43204322 '''Gets a list of potential audio output devices, 4323 See L{audio_output_device_set}(). 4324 @note: Not all audio outputs support enumerating devices. 4325 The audio output may be functional even if the list is empty (None). 4326 @note: The list may not be exhaustive. 4327 @warning: Some audio output devices in the list might not actually work in 4328 some circumstances. By default, it is recommended to not specify any 4329 explicit audio device. 4330 @return: A None-terminated linked list of potential audio output devices. It must be freed with L{audio_output_device_list_release}(). 4331 @version: LibVLC 2.2.0 or later. 4332 ''' 4333 return libvlc_audio_output_device_enum(self)4334 43354337 '''Configures an explicit audio output device. 4338 If the module paramater is None, audio output will be moved to the device 4339 specified by the device identifier string immediately. This is the 4340 recommended usage. 4341 A list of adequate potential device strings can be obtained with 4342 L{audio_output_device_enum}(). 4343 However passing None is supported in LibVLC version 2.2.0 and later only; 4344 in earlier versions, this function would have no effects when the module 4345 parameter was None. 4346 If the module parameter is not None, the device parameter of the 4347 corresponding audio output, if it exists, will be set to the specified 4348 string. Note that some audio output modules do not have such a parameter 4349 (notably MMDevice and PulseAudio). 4350 A list of adequate potential device strings can be obtained with 4351 L{audio_output_device_list_get}(). 4352 @note: This function does not select the specified audio output plugin. 4353 L{audio_output_set}() is used for that purpose. 4354 @warning: The syntax for the device parameter depends on the audio output. 4355 Some audio output modules require further parameters (e.g. a channels map 4356 in the case of ALSA). 4357 @param module: If None, current audio output module. if non-None, name of audio output module. 4358 @param device_id: device identifier string. 4359 @return: Nothing. Errors are ignored (this is a design bug). 4360 ''' 4361 return libvlc_audio_output_device_set(self, str_to_bytes(module), str_to_bytes(device_id))4362 43634365 '''Get the current audio output device identifier. 4366 This complements L{audio_output_device_set}(). 4367 @warning: The initial value for the current audio output device identifier 4368 may not be set or may be some unknown value. A LibVLC application should 4369 compare this value against the known device identifiers (e.g. those that 4370 were previously retrieved by a call to L{audio_output_device_enum} or 4371 L{audio_output_device_list_get}) to find the current audio output device. 4372 It is possible that the selected audio output device changes (an external 4373 change) without a call to L{audio_output_device_set}. That may make this 4374 method unsuitable to use if a LibVLC application is attempting to track 4375 dynamic audio device changes as they happen. 4376 @return: the current audio output device identifier None if no device is selected or in case of error (the result must be released with free() or L{free}()). 4377 @version: LibVLC 3.0.0 or later. 4378 ''' 4379 return libvlc_audio_output_device_get(self)4380 4381 4386 43874389 '''Get current mute status. 4390 @return: the mute status (boolean) if defined, -1 if undefined/unapplicable. 4391 ''' 4392 return libvlc_audio_get_mute(self)4393 43944396 '''Set mute status. 4397 @param status: If status is true then mute, otherwise unmute @warning This function does not always work. If there are no active audio playback stream, the mute status might not be available. If digital pass-through (S/PDIF, HDMI...) is in use, muting may be unapplicable. Also some audio output plugins do not support muting at all. @note To force silent playback, disable all audio tracks. This is more efficient and reliable than mute. 4398 ''' 4399 return libvlc_audio_set_mute(self, status)4400 44014403 '''Get current software audio volume. 4404 @return: the software volume in percents (0 = mute, 100 = nominal / 0dB). 4405 ''' 4406 return libvlc_audio_get_volume(self)4407 44084410 '''Set current software audio volume. 4411 @param i_volume: the volume in percents (0 = mute, 100 = 0dB). 4412 @return: 0 if the volume was set, -1 if it was out of range. 4413 ''' 4414 return libvlc_audio_set_volume(self, i_volume)4415 44164418 '''Get number of available audio tracks. 4419 @return: the number of available audio tracks (int), or -1 if unavailable. 4420 ''' 4421 return libvlc_audio_get_track_count(self)4422 44234425 '''Get current audio track. 4426 @return: the audio track ID or -1 if no active input. 4427 ''' 4428 return libvlc_audio_get_track(self)4429 44304432 '''Set current audio track. 4433 @param i_track: the track ID (i_id field from track description). 4434 @return: 0 on success, -1 on error. 4435 ''' 4436 return libvlc_audio_set_track(self, i_track)4437 44384440 '''Get current audio channel. 4441 @return: the audio channel See L{AudioOutputChannel}. 4442 ''' 4443 return libvlc_audio_get_channel(self)4444 44454447 '''Set current audio channel. 4448 @param channel: the audio channel, See L{AudioOutputChannel}. 4449 @return: 0 on success, -1 on error. 4450 ''' 4451 return libvlc_audio_set_channel(self, channel)4452 44534455 '''Get current audio delay. 4456 @return: the audio delay (microseconds). 4457 @version: LibVLC 1.1.1 or later. 4458 ''' 4459 return libvlc_audio_get_delay(self)4460 44614463 '''Set current audio delay. The audio delay will be reset to zero each time the media changes. 4464 @param i_delay: the audio delay (microseconds). 4465 @return: 0 on success, -1 on error. 4466 @version: LibVLC 1.1.1 or later. 4467 ''' 4468 return libvlc_audio_set_delay(self, i_delay)4469 44704472 '''Apply new equalizer settings to a media player. 4473 The equalizer is first created by invoking L{audio_equalizer_new}() or 4474 L{audio_equalizer_new_from_preset}(). 4475 It is possible to apply new equalizer settings to a media player whether the media 4476 player is currently playing media or not. 4477 Invoking this method will immediately apply the new equalizer settings to the audio 4478 output of the currently playing media if there is any. 4479 If there is no currently playing media, the new equalizer settings will be applied 4480 later if and when new media is played. 4481 Equalizer settings will automatically be applied to subsequently played media. 4482 To disable the equalizer for a media player invoke this method passing None for the 4483 p_equalizer parameter. 4484 The media player does not keep a reference to the supplied equalizer so it is safe 4485 for an application to release the equalizer reference any time after this method 4486 returns. 4487 @param p_equalizer: opaque equalizer handle, or None to disable the equalizer for this media player. 4488 @return: zero on success, -1 on error. 4489 @version: LibVLC 2.2.0 or later. 4490 ''' 4491 return libvlc_media_player_set_equalizer(self, p_equalizer)4492 44934495 '''Gets the media role. 4496 @return: the media player role (\ref libvlc_media_player_role_t). 4497 @version: LibVLC 3.0.0 and later. 4498 ''' 4499 return libvlc_media_player_get_role(self)4500 45014503 '''Sets the media role. 4504 @param role: the media player role (\ref libvlc_media_player_role_t). 4505 @return: 0 on success, -1 on error. 4506 ''' 4507 return libvlc_media_player_set_role(self, role)4510 '''N/A 4511 ''' 4512 451745694519 '''Hold a renderer item, i.e. creates a new reference 4520 This functions need to called from the libvlc_RendererDiscovererItemAdded 4521 callback if the libvlc user wants to use this item after. (for display or 4522 for passing it to the mediaplayer for example). 4523 @return: the current item. 4524 @version: LibVLC 3.0.0 or later. 4525 ''' 4526 return libvlc_renderer_item_hold(self)4527 45284530 '''Releases a renderer item, i.e. decrements its reference counter. 4531 @version: LibVLC 3.0.0 or later. 4532 ''' 4533 return libvlc_renderer_item_release(self)4534 45354537 '''Get the human readable name of a renderer item. 4538 @return: the name of the item (can't be None, must *not* be freed). 4539 @version: LibVLC 3.0.0 or later. 4540 ''' 4541 return libvlc_renderer_item_name(self)4542 45434545 '''Get the type (not translated) of a renderer item. For now, the type can only 4546 be "chromecast" ("upnp", "airplay" may come later). 4547 @return: the type of the item (can't be None, must *not* be freed). 4548 @version: LibVLC 3.0.0 or later. 4549 ''' 4550 return libvlc_renderer_item_type(self)4551 45524554 '''Get the icon uri of a renderer item. 4555 @return: the uri of the item's icon (can be None, must *not* be freed). 4556 @version: LibVLC 3.0.0 or later. 4557 ''' 4558 return libvlc_renderer_item_icon_uri(self)4559 45604562 '''Get the flags of a renderer item 4563 See LIBVLC_RENDERER_CAN_AUDIO 4564 See LIBVLC_RENDERER_CAN_VIDEO. 4565 @return: bitwise flag: capabilities of the renderer, see. 4566 @version: LibVLC 3.0.0 or later. 4567 ''' 4568 return libvlc_renderer_item_flags(self)4571 '''N/A 4572 ''' 4573 457846184580 '''Release a renderer discoverer object. 4581 @version: LibVLC 3.0.0 or later. 4582 ''' 4583 return libvlc_renderer_discoverer_release(self)4584 45854587 '''Start renderer discovery 4588 To stop it, call L{stop}() or 4589 L{release}() directly. 4590 See L{stop}(). 4591 @return: -1 in case of error, 0 otherwise. 4592 @version: LibVLC 3.0.0 or later. 4593 ''' 4594 return libvlc_renderer_discoverer_start(self)4595 45964598 '''Stop renderer discovery. 4599 See L{start}(). 4600 @version: LibVLC 3.0.0 or later. 4601 ''' 4602 return libvlc_renderer_discoverer_stop(self)4603 4604 @memoize_parameterless4606 '''Get the event manager of the renderer discoverer 4607 The possible events to attach are @ref libvlc_RendererDiscovererItemAdded 4608 and @ref libvlc_RendererDiscovererItemDeleted. 4609 The @ref L{Renderer} struct passed to event callbacks is owned by 4610 VLC, users should take care of holding/releasing this struct for their 4611 internal usage. 4612 See libvlc_event_t.u.renderer_discoverer_item_added.item 4613 See libvlc_event_t.u.renderer_discoverer_item_removed.item. 4614 @return: a valid event manager (can't fail). 4615 @version: LibVLC 3.0.0 or later. 4616 ''' 4617 return libvlc_renderer_discoverer_event_manager(self)4623 '''Clears the LibVLC error status for the current thread. This is optional. 4624 By default, the error status is automatically overridden when a new error 4625 occurs, and destroyed when the thread exits. 4626 ''' 4627 f = _Cfunctions.get('libvlc_clearerr', None) or \ 4628 _Cfunction('libvlc_clearerr', (), None, 4629 None) 4630 return f()46314633 '''Sets the LibVLC error status and message for the current thread. 4634 Any previous error is overridden. 4635 @param fmt: the format string. 4636 @param ap: the arguments. 4637 @return: a nul terminated string in any case. 4638 ''' 4639 f = _Cfunctions.get('libvlc_vprinterr', None) or \ 4640 _Cfunction('libvlc_vprinterr', ((1,), (1,),), None, 4641 ctypes.c_char_p, ctypes.c_char_p, ctypes.c_void_p) 4642 return f(fmt, ap)46434645 '''Create and initialize a libvlc instance. 4646 This functions accept a list of "command line" arguments similar to the 4647 main(). These arguments affect the LibVLC instance default configuration. 4648 @note 4649 LibVLC may create threads. Therefore, any thread-unsafe process 4650 initialization must be performed before calling L{libvlc_new}(). In particular 4651 and where applicable: 4652 - setlocale() and textdomain(), 4653 - setenv(), unsetenv() and putenv(), 4654 - with the X11 display system, XInitThreads() 4655 (see also L{libvlc_media_player_set_xwindow}()) and 4656 - on Microsoft Windows, SetErrorMode(). 4657 - sigprocmask() shall never be invoked; pthread_sigmask() can be used. 4658 On POSIX systems, the SIGCHLD signal B{must not} be ignored, i.e. the 4659 signal handler must set to SIG_DFL or a function pointer, not SIG_IGN. 4660 Also while LibVLC is active, the wait() function shall not be called, and 4661 any call to waitpid() shall use a strictly positive value for the first 4662 parameter (i.e. the PID). Failure to follow those rules may lead to a 4663 deadlock or a busy loop. 4664 Also on POSIX systems, it is recommended that the SIGPIPE signal be blocked, 4665 even if it is not, in principles, necessary, e.g.: 4666 @code 4667 @endcode 4668 On Microsoft Windows Vista/2008, the process error mode 4669 SEM_FAILCRITICALERRORS flag B{must} be set before using LibVLC. 4670 On later versions, that is optional and unnecessary. 4671 Also on Microsoft Windows (Vista and any later version), setting the default 4672 DLL directories to SYSTEM32 exclusively is strongly recommended for 4673 security reasons: 4674 @code 4675 @endcode. 4676 @param argc: the number of arguments (should be 0). 4677 @param argv: list of arguments (should be None). 4678 @return: the libvlc instance or None in case of error. 4679 @version Arguments are meant to be passed from the command line to LibVLC, just like VLC media player does. The list of valid arguments depends on the LibVLC version, the operating system and platform, and set of available LibVLC plugins. Invalid or unsupported arguments will cause the function to fail (i.e. return None). Also, some arguments may alter the behaviour or otherwise interfere with other LibVLC functions. @warning There is absolutely no warranty or promise of forward, backward and cross-platform compatibility with regards to L{libvlc_new}() arguments. We recommend that you do not use them, other than when debugging. 4680 ''' 4681 f = _Cfunctions.get('libvlc_new', None) or \ 4682 _Cfunction('libvlc_new', ((1,), (1,),), class_result(Instance), 4683 ctypes.c_void_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p)) 4684 return f(argc, argv)46854687 '''Decrement the reference count of a libvlc instance, and destroy it 4688 if it reaches zero. 4689 @param p_instance: the instance to destroy. 4690 ''' 4691 f = _Cfunctions.get('libvlc_release', None) or \ 4692 _Cfunction('libvlc_release', ((1,),), None, 4693 None, Instance) 4694 return f(p_instance)46954697 '''Increments the reference count of a libvlc instance. 4698 The initial reference count is 1 after L{libvlc_new}() returns. 4699 @param p_instance: the instance to reference. 4700 ''' 4701 f = _Cfunctions.get('libvlc_retain', None) or \ 4702 _Cfunction('libvlc_retain', ((1,),), None, 4703 None, Instance) 4704 return f(p_instance)47054707 '''Try to start a user interface for the libvlc instance. 4708 @param p_instance: the instance. 4709 @param name: interface name, or None for default. 4710 @return: 0 on success, -1 on error. 4711 ''' 4712 f = _Cfunctions.get('libvlc_add_intf', None) or \ 4713 _Cfunction('libvlc_add_intf', ((1,), (1,),), None, 4714 ctypes.c_int, Instance, ctypes.c_char_p) 4715 return f(p_instance, name)47164718 '''Sets the application name. LibVLC passes this as the user agent string 4719 when a protocol requires it. 4720 @param p_instance: LibVLC instance. 4721 @param name: human-readable application name, e.g. "FooBar player 1.2.3". 4722 @param http: HTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0". 4723 @version: LibVLC 1.1.1 or later. 4724 ''' 4725 f = _Cfunctions.get('libvlc_set_user_agent', None) or \ 4726 _Cfunction('libvlc_set_user_agent', ((1,), (1,), (1,),), None, 4727 None, Instance, ctypes.c_char_p, ctypes.c_char_p) 4728 return f(p_instance, name, http)47294731 '''Sets some meta-information about the application. 4732 See also L{libvlc_set_user_agent}(). 4733 @param p_instance: LibVLC instance. 4734 @param id: Java-style application identifier, e.g. "com.acme.foobar". 4735 @param version: application version numbers, e.g. "1.2.3". 4736 @param icon: application icon name, e.g. "foobar". 4737 @version: LibVLC 2.1.0 or later. 4738 ''' 4739 f = _Cfunctions.get('libvlc_set_app_id', None) or \ 4740 _Cfunction('libvlc_set_app_id', ((1,), (1,), (1,), (1,),), None, 4741 None, Instance, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p) 4742 return f(p_instance, id, version, icon)47434745 '''Retrieve libvlc version. 4746 Example: "1.1.0-git The Luggage". 4747 @return: a string containing the libvlc version. 4748 ''' 4749 f = _Cfunctions.get('libvlc_get_version', None) or \ 4750 _Cfunction('libvlc_get_version', (), None, 4751 ctypes.c_char_p) 4752 return f()47534755 '''Retrieve libvlc compiler version. 4756 Example: "gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu6)". 4757 @return: a string containing the libvlc compiler version. 4758 ''' 4759 f = _Cfunctions.get('libvlc_get_compiler', None) or \ 4760 _Cfunction('libvlc_get_compiler', (), None, 4761 ctypes.c_char_p) 4762 return f()47634765 '''Retrieve libvlc changeset. 4766 Example: "aa9bce0bc4". 4767 @return: a string containing the libvlc changeset. 4768 ''' 4769 f = _Cfunctions.get('libvlc_get_changeset', None) or \ 4770 _Cfunction('libvlc_get_changeset', (), None, 4771 ctypes.c_char_p) 4772 return f()47734775 '''Frees an heap allocation returned by a LibVLC function. 4776 If you know you're using the same underlying C run-time as the LibVLC 4777 implementation, then you can call ANSI C free() directly instead. 4778 @param ptr: the pointer. 4779 ''' 4780 f = _Cfunctions.get('libvlc_free', None) or \ 4781 _Cfunction('libvlc_free', ((1,),), None, 4782 None, ctypes.c_void_p) 4783 return f(ptr)47844786 '''Register for an event notification. 4787 @param p_event_manager: the event manager to which you want to attach to. Generally it is obtained by vlc_my_object_event_manager() where my_object is the object you want to listen to. 4788 @param i_event_type: the desired event to which we want to listen. 4789 @param f_callback: the function to call when i_event_type occurs. 4790 @param user_data: user provided data to carry with the event. 4791 @return: 0 on success, ENOMEM on error. 4792 ''' 4793 f = _Cfunctions.get('libvlc_event_attach', None) or \ 4794 _Cfunction('libvlc_event_attach', ((1,), (1,), (1,), (1,),), None, 4795 ctypes.c_int, EventManager, ctypes.c_uint, Callback, ctypes.c_void_p) 4796 return f(p_event_manager, i_event_type, f_callback, user_data)47974799 '''Unregister an event notification. 4800 @param p_event_manager: the event manager. 4801 @param i_event_type: the desired event to which we want to unregister. 4802 @param f_callback: the function to call when i_event_type occurs. 4803 @param p_user_data: user provided data to carry with the event. 4804 ''' 4805 f = _Cfunctions.get('libvlc_event_detach', None) or \ 4806 _Cfunction('libvlc_event_detach', ((1,), (1,), (1,), (1,),), None, 4807 None, EventManager, ctypes.c_uint, Callback, ctypes.c_void_p) 4808 return f(p_event_manager, i_event_type, f_callback, p_user_data)48094811 '''Get an event's type name. 4812 @param event_type: the desired event. 4813 ''' 4814 f = _Cfunctions.get('libvlc_event_type_name', None) or \ 4815 _Cfunction('libvlc_event_type_name', ((1,),), None, 4816 ctypes.c_char_p, ctypes.c_uint) 4817 return f(event_type)48184820 '''Gets log message debug infos. 4821 This function retrieves self-debug information about a log message: 4822 - the name of the VLC module emitting the message, 4823 - the name of the source code module (i.e. file) and 4824 - the line number within the source code module. 4825 The returned module name and file name will be None if unknown. 4826 The returned line number will similarly be zero if unknown. 4827 @param ctx: message context (as passed to the @ref libvlc_log_cb callback). 4828 @return: module module name storage (or None), file source code file name storage (or None), line source code file line number storage (or None). 4829 @version: LibVLC 2.1.0 or later. 4830 ''' 4831 f = _Cfunctions.get('libvlc_log_get_context', None) or \ 4832 _Cfunction('libvlc_log_get_context', ((1,), (2,), (2,), (2,),), None, 4833 None, Log_ptr, ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_uint)) 4834 return f(ctx)48354837 '''Gets log message info. 4838 This function retrieves meta-information about a log message: 4839 - the type name of the VLC object emitting the message, 4840 - the object header if any, and 4841 - a temporaly-unique object identifier. 4842 This information is mainly meant for B{manual} troubleshooting. 4843 The returned type name may be "generic" if unknown, but it cannot be None. 4844 The returned header will be None if unset; in current versions, the header 4845 is used to distinguish for VLM inputs. 4846 The returned object ID will be zero if the message is not associated with 4847 any VLC object. 4848 @param ctx: message context (as passed to the @ref libvlc_log_cb callback). 4849 @return: name object name storage (or None), header object header (or None), line source code file line number storage (or None). 4850 @version: LibVLC 2.1.0 or later. 4851 ''' 4852 f = _Cfunctions.get('libvlc_log_get_object', None) or \ 4853 _Cfunction('libvlc_log_get_object', ((1,), (2,), (2,), (1,),), None, 4854 None, Log_ptr, ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_uint)) 4855 return f(ctx, id)48564858 '''Unsets the logging callback. 4859 This function deregisters the logging callback for a LibVLC instance. 4860 This is rarely needed as the callback is implicitly unset when the instance 4861 is destroyed. 4862 @note: This function will wait for any pending callbacks invocation to 4863 complete (causing a deadlock if called from within the callback). 4864 @param p_instance: libvlc instance. 4865 @version: LibVLC 2.1.0 or later. 4866 ''' 4867 f = _Cfunctions.get('libvlc_log_unset', None) or \ 4868 _Cfunction('libvlc_log_unset', ((1,),), None, 4869 None, Instance) 4870 return f(p_instance)48714873 '''Sets the logging callback for a LibVLC instance. 4874 This function is thread-safe: it will wait for any pending callbacks 4875 invocation to complete. 4876 @param cb: callback function pointer. 4877 @param data: opaque data pointer for the callback function @note Some log messages (especially debug) are emitted by LibVLC while is being initialized. These messages cannot be captured with this interface. @warning A deadlock may occur if this function is called from the callback. 4878 @param p_instance: libvlc instance. 4879 @version: LibVLC 2.1.0 or later. 4880 ''' 4881 f = _Cfunctions.get('libvlc_log_set', None) or \ 4882 _Cfunction('libvlc_log_set', ((1,), (1,), (1,),), None, 4883 None, Instance, LogCb, ctypes.c_void_p) 4884 return f(p_instance, cb, data)48854887 '''Sets up logging to a file. 4888 @param p_instance: libvlc instance. 4889 @param stream: FILE pointer opened for writing (the FILE pointer must remain valid until L{libvlc_log_unset}()). 4890 @version: LibVLC 2.1.0 or later. 4891 ''' 4892 f = _Cfunctions.get('libvlc_log_set_file', None) or \ 4893 _Cfunction('libvlc_log_set_file', ((1,), (1,),), None, 4894 None, Instance, FILE_ptr) 4895 return f(p_instance, stream)48964898 '''Release a list of module descriptions. 4899 @param p_list: the list to be released. 4900 ''' 4901 f = _Cfunctions.get('libvlc_module_description_list_release', None) or \ 4902 _Cfunction('libvlc_module_description_list_release', ((1,),), None, 4903 None, ctypes.POINTER(ModuleDescription)) 4904 return f(p_list)49054907 '''Returns a list of audio filters that are available. 4908 @param p_instance: libvlc instance. 4909 @return: a list of module descriptions. It should be freed with L{libvlc_module_description_list_release}(). In case of an error, None is returned. See L{ModuleDescription} See L{libvlc_module_description_list_release}. 4910 ''' 4911 f = _Cfunctions.get('libvlc_audio_filter_list_get', None) or \ 4912 _Cfunction('libvlc_audio_filter_list_get', ((1,),), None, 4913 ctypes.POINTER(ModuleDescription), Instance) 4914 return f(p_instance)49154917 '''Returns a list of video filters that are available. 4918 @param p_instance: libvlc instance. 4919 @return: a list of module descriptions. It should be freed with L{libvlc_module_description_list_release}(). In case of an error, None is returned. See L{ModuleDescription} See L{libvlc_module_description_list_release}. 4920 ''' 4921 f = _Cfunctions.get('libvlc_video_filter_list_get', None) or \ 4922 _Cfunction('libvlc_video_filter_list_get', ((1,),), None, 4923 ctypes.POINTER(ModuleDescription), Instance) 4924 return f(p_instance)49254927 '''Return the current time as defined by LibVLC. The unit is the microsecond. 4928 Time increases monotonically (regardless of time zone changes and RTC 4929 adjustements). 4930 The origin is arbitrary but consistent across the whole system 4931 (e.g. the system uptim, the time since the system was booted). 4932 @note: On systems that support it, the POSIX monotonic clock is used. 4933 ''' 4934 f = _Cfunctions.get('libvlc_clock', None) or \ 4935 _Cfunction('libvlc_clock', (), None, 4936 ctypes.c_int64) 4937 return f()49384940 '''Create a media discoverer object by name. 4941 After this object is created, you should attach to media_list events in 4942 order to be notified of new items discovered. 4943 You need to call L{libvlc_media_discoverer_start}() in order to start the 4944 discovery. 4945 See L{libvlc_media_discoverer_media_list} 4946 See L{libvlc_media_discoverer_event_manager} 4947 See L{libvlc_media_discoverer_start}. 4948 @param p_inst: libvlc instance. 4949 @param psz_name: service name; use L{libvlc_media_discoverer_list_get}() to get a list of the discoverer names available in this libVLC instance. 4950 @return: media discover object or None in case of error. 4951 @version: LibVLC 3.0.0 or later. 4952 ''' 4953 f = _Cfunctions.get('libvlc_media_discoverer_new', None) or \ 4954 _Cfunction('libvlc_media_discoverer_new', ((1,), (1,),), class_result(MediaDiscoverer), 4955 ctypes.c_void_p, Instance, ctypes.c_char_p) 4956 return f(p_inst, psz_name)49574959 '''Start media discovery. 4960 To stop it, call L{libvlc_media_discoverer_stop}() or 4961 L{libvlc_media_discoverer_list_release}() directly. 4962 See L{libvlc_media_discoverer_stop}. 4963 @param p_mdis: media discover object. 4964 @return: -1 in case of error, 0 otherwise. 4965 @version: LibVLC 3.0.0 or later. 4966 ''' 4967 f = _Cfunctions.get('libvlc_media_discoverer_start', None) or \ 4968 _Cfunction('libvlc_media_discoverer_start', ((1,),), None, 4969 ctypes.c_int, MediaDiscoverer) 4970 return f(p_mdis)49714973 '''Stop media discovery. 4974 See L{libvlc_media_discoverer_start}. 4975 @param p_mdis: media discover object. 4976 @version: LibVLC 3.0.0 or later. 4977 ''' 4978 f = _Cfunctions.get('libvlc_media_discoverer_stop', None) or \ 4979 _Cfunction('libvlc_media_discoverer_stop', ((1,),), None, 4980 None, MediaDiscoverer) 4981 return f(p_mdis)49824984 '''Release media discover object. If the reference count reaches 0, then 4985 the object will be released. 4986 @param p_mdis: media service discover object. 4987 ''' 4988 f = _Cfunctions.get('libvlc_media_discoverer_release', None) or \ 4989 _Cfunction('libvlc_media_discoverer_release', ((1,),), None, 4990 None, MediaDiscoverer) 4991 return f(p_mdis)49924994 '''Get media service discover media list. 4995 @param p_mdis: media service discover object. 4996 @return: list of media items. 4997 ''' 4998 f = _Cfunctions.get('libvlc_media_discoverer_media_list', None) or \ 4999 _Cfunction('libvlc_media_discoverer_media_list', ((1,),), class_result(MediaList), 5000 ctypes.c_void_p, MediaDiscoverer) 5001 return f(p_mdis)50025004 '''Query if media service discover object is running. 5005 @param p_mdis: media service discover object. 5006 @return: true if running, false if not \libvlc_return_bool. 5007 ''' 5008 f = _Cfunctions.get('libvlc_media_discoverer_is_running', None) or \ 5009 _Cfunction('libvlc_media_discoverer_is_running', ((1,),), None, 5010 ctypes.c_int, MediaDiscoverer) 5011 return f(p_mdis)50125014 '''Get media discoverer services by category. 5015 @param p_inst: libvlc instance. 5016 @param i_cat: category of services to fetch. 5017 @param ppp_services: address to store an allocated array of media discoverer services (must be freed with L{libvlc_media_discoverer_list_release}() by the caller) [OUT]. 5018 @return: the number of media discoverer services (0 on error). 5019 @version: LibVLC 3.0.0 and later. 5020 ''' 5021 f = _Cfunctions.get('libvlc_media_discoverer_list_get', None) or \ 5022 _Cfunction('libvlc_media_discoverer_list_get', ((1,), (1,), (1,),), None, 5023 ctypes.c_size_t, Instance, MediaDiscovererCategory, ctypes.POINTER(ctypes.POINTER(MediaDiscovererDescription))) 5024 return f(p_inst, i_cat, ppp_services)50255027 '''Release an array of media discoverer services. 5028 @param pp_services: array to release. 5029 @param i_count: number of elements in the array. 5030 @version: LibVLC 3.0.0 and later. See L{libvlc_media_discoverer_list_get}(). 5031 ''' 5032 f = _Cfunctions.get('libvlc_media_discoverer_list_release', None) or \ 5033 _Cfunction('libvlc_media_discoverer_list_release', ((1,), (1,),), None, 5034 None, ctypes.POINTER(MediaDiscovererDescription), ctypes.c_size_t) 5035 return f(pp_services, i_count)50365038 '''Associate an opaque pointer with the dialog id. 5039 @version: LibVLC 3.0.0 and later. 5040 ''' 5041 f = _Cfunctions.get('libvlc_dialog_set_context', None) or \ 5042 _Cfunction('libvlc_dialog_set_context', ((1,), (1,),), None, 5043 None, ctypes.c_void_p, ctypes.c_void_p) 5044 return f(p_id, p_context)50455047 '''Return the opaque pointer associated with the dialog id. 5048 @version: LibVLC 3.0.0 and later. 5049 ''' 5050 f = _Cfunctions.get('libvlc_dialog_get_context', None) or \ 5051 _Cfunction('libvlc_dialog_get_context', ((1,),), None, 5052 ctypes.c_void_p, ctypes.c_void_p) 5053 return f(p_id)50545056 '''Post a login answer 5057 After this call, p_id won't be valid anymore 5058 See libvlc_dialog_cbs.pf_display_login. 5059 @param p_id: id of the dialog. 5060 @param psz_username: valid and non empty string. 5061 @param psz_password: valid string (can be empty). 5062 @param b_store: if true, store the credentials. 5063 @return: 0 on success, or -1 on error. 5064 @version: LibVLC 3.0.0 and later. 5065 ''' 5066 f = _Cfunctions.get('libvlc_dialog_post_login', None) or \ 5067 _Cfunction('libvlc_dialog_post_login', ((1,), (1,), (1,), (1,),), None, 5068 ctypes.c_int, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_bool) 5069 return f(p_id, psz_username, psz_password, b_store)50705072 '''Post a question answer 5073 After this call, p_id won't be valid anymore 5074 See libvlc_dialog_cbs.pf_display_question. 5075 @param p_id: id of the dialog. 5076 @param i_action: 1 for action1, 2 for action2. 5077 @return: 0 on success, or -1 on error. 5078 @version: LibVLC 3.0.0 and later. 5079 ''' 5080 f = _Cfunctions.get('libvlc_dialog_post_action', None) or \ 5081 _Cfunction('libvlc_dialog_post_action', ((1,), (1,),), None, 5082 ctypes.c_int, ctypes.c_void_p, ctypes.c_int) 5083 return f(p_id, i_action)50845086 '''Dismiss a dialog 5087 After this call, p_id won't be valid anymore 5088 See libvlc_dialog_cbs.pf_cancel. 5089 @param p_id: id of the dialog. 5090 @return: 0 on success, or -1 on error. 5091 @version: LibVLC 3.0.0 and later. 5092 ''' 5093 f = _Cfunctions.get('libvlc_dialog_dismiss', None) or \ 5094 _Cfunction('libvlc_dialog_dismiss', ((1,),), None, 5095 ctypes.c_int, ctypes.c_void_p) 5096 return f(p_id)50975099 '''Create an new Media Library object. 5100 @param p_instance: the libvlc instance. 5101 @return: a new object or None on error. 5102 ''' 5103 f = _Cfunctions.get('libvlc_media_library_new', None) or \ 5104 _Cfunction('libvlc_media_library_new', ((1,),), class_result(MediaLibrary), 5105 ctypes.c_void_p, Instance) 5106 return f(p_instance)51075109 '''Release media library object. This functions decrements the 5110 reference count of the media library object. If it reaches 0, 5111 then the object will be released. 5112 @param p_mlib: media library object. 5113 ''' 5114 f = _Cfunctions.get('libvlc_media_library_release', None) or \ 5115 _Cfunction('libvlc_media_library_release', ((1,),), None, 5116 None, MediaLibrary) 5117 return f(p_mlib)51185120 '''Retain a reference to a media library object. This function will 5121 increment the reference counting for this object. Use 5122 L{libvlc_media_library_release}() to decrement the reference count. 5123 @param p_mlib: media library object. 5124 ''' 5125 f = _Cfunctions.get('libvlc_media_library_retain', None) or \ 5126 _Cfunction('libvlc_media_library_retain', ((1,),), None, 5127 None, MediaLibrary) 5128 return f(p_mlib)51295131 '''Load media library. 5132 @param p_mlib: media library object. 5133 @return: 0 on success, -1 on error. 5134 ''' 5135 f = _Cfunctions.get('libvlc_media_library_load', None) or \ 5136 _Cfunction('libvlc_media_library_load', ((1,),), None, 5137 ctypes.c_int, MediaLibrary) 5138 return f(p_mlib)51395141 '''Get media library subitems. 5142 @param p_mlib: media library object. 5143 @return: media list subitems. 5144 ''' 5145 f = _Cfunctions.get('libvlc_media_library_media_list', None) or \ 5146 _Cfunction('libvlc_media_library_media_list', ((1,),), class_result(MediaList), 5147 ctypes.c_void_p, MediaLibrary) 5148 return f(p_mlib)51495151 '''Release the vlm instance related to the given L{Instance}. 5152 @param p_instance: the instance. 5153 ''' 5154 f = _Cfunctions.get('libvlc_vlm_release', None) or \ 5155 _Cfunction('libvlc_vlm_release', ((1,),), None, 5156 None, Instance) 5157 return f(p_instance)51585159 -def libvlc_vlm_add_broadcast(p_instance, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop):5160 '''Add a broadcast, with one input. 5161 @param p_instance: the instance. 5162 @param psz_name: the name of the new broadcast. 5163 @param psz_input: the input MRL. 5164 @param psz_output: the output MRL (the parameter to the "sout" variable). 5165 @param i_options: number of additional options. 5166 @param ppsz_options: additional options. 5167 @param b_enabled: boolean for enabling the new broadcast. 5168 @param b_loop: Should this broadcast be played in loop ? 5169 @return: 0 on success, -1 on error. 5170 ''' 5171 f = _Cfunctions.get('libvlc_vlm_add_broadcast', None) or \ 5172 _Cfunction('libvlc_vlm_add_broadcast', ((1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,),), None, 5173 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p), ctypes.c_int, ctypes.c_int) 5174 return f(p_instance, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop)51755176 -def libvlc_vlm_add_vod(p_instance, psz_name, psz_input, i_options, ppsz_options, b_enabled, psz_mux):5177 '''Add a vod, with one input. 5178 @param p_instance: the instance. 5179 @param psz_name: the name of the new vod media. 5180 @param psz_input: the input MRL. 5181 @param i_options: number of additional options. 5182 @param ppsz_options: additional options. 5183 @param b_enabled: boolean for enabling the new vod. 5184 @param psz_mux: the muxer of the vod media. 5185 @return: 0 on success, -1 on error. 5186 ''' 5187 f = _Cfunctions.get('libvlc_vlm_add_vod', None) or \ 5188 _Cfunction('libvlc_vlm_add_vod', ((1,), (1,), (1,), (1,), (1,), (1,), (1,),), None, 5189 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p), ctypes.c_int, ctypes.c_char_p) 5190 return f(p_instance, psz_name, psz_input, i_options, ppsz_options, b_enabled, psz_mux)51915193 '''Delete a media (VOD or broadcast). 5194 @param p_instance: the instance. 5195 @param psz_name: the media to delete. 5196 @return: 0 on success, -1 on error. 5197 ''' 5198 f = _Cfunctions.get('libvlc_vlm_del_media', None) or \ 5199 _Cfunction('libvlc_vlm_del_media', ((1,), (1,),), None, 5200 ctypes.c_int, Instance, ctypes.c_char_p) 5201 return f(p_instance, psz_name)52025204 '''Enable or disable a media (VOD or broadcast). 5205 @param p_instance: the instance. 5206 @param psz_name: the media to work on. 5207 @param b_enabled: the new status. 5208 @return: 0 on success, -1 on error. 5209 ''' 5210 f = _Cfunctions.get('libvlc_vlm_set_enabled', None) or \ 5211 _Cfunction('libvlc_vlm_set_enabled', ((1,), (1,), (1,),), None, 5212 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5213 return f(p_instance, psz_name, b_enabled)52145216 '''Set the output for a media. 5217 @param p_instance: the instance. 5218 @param psz_name: the media to work on. 5219 @param psz_output: the output MRL (the parameter to the "sout" variable). 5220 @return: 0 on success, -1 on error. 5221 ''' 5222 f = _Cfunctions.get('libvlc_vlm_set_output', None) or \ 5223 _Cfunction('libvlc_vlm_set_output', ((1,), (1,), (1,),), None, 5224 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p) 5225 return f(p_instance, psz_name, psz_output)52265228 '''Set a media's input MRL. This will delete all existing inputs and 5229 add the specified one. 5230 @param p_instance: the instance. 5231 @param psz_name: the media to work on. 5232 @param psz_input: the input MRL. 5233 @return: 0 on success, -1 on error. 5234 ''' 5235 f = _Cfunctions.get('libvlc_vlm_set_input', None) or \ 5236 _Cfunction('libvlc_vlm_set_input', ((1,), (1,), (1,),), None, 5237 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p) 5238 return f(p_instance, psz_name, psz_input)52395241 '''Add a media's input MRL. This will add the specified one. 5242 @param p_instance: the instance. 5243 @param psz_name: the media to work on. 5244 @param psz_input: the input MRL. 5245 @return: 0 on success, -1 on error. 5246 ''' 5247 f = _Cfunctions.get('libvlc_vlm_add_input', None) or \ 5248 _Cfunction('libvlc_vlm_add_input', ((1,), (1,), (1,),), None, 5249 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p) 5250 return f(p_instance, psz_name, psz_input)52515253 '''Set a media's loop status. 5254 @param p_instance: the instance. 5255 @param psz_name: the media to work on. 5256 @param b_loop: the new status. 5257 @return: 0 on success, -1 on error. 5258 ''' 5259 f = _Cfunctions.get('libvlc_vlm_set_loop', None) or \ 5260 _Cfunction('libvlc_vlm_set_loop', ((1,), (1,), (1,),), None, 5261 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5262 return f(p_instance, psz_name, b_loop)52635265 '''Set a media's vod muxer. 5266 @param p_instance: the instance. 5267 @param psz_name: the media to work on. 5268 @param psz_mux: the new muxer. 5269 @return: 0 on success, -1 on error. 5270 ''' 5271 f = _Cfunctions.get('libvlc_vlm_set_mux', None) or \ 5272 _Cfunction('libvlc_vlm_set_mux', ((1,), (1,), (1,),), None, 5273 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p) 5274 return f(p_instance, psz_name, psz_mux)52755276 -def libvlc_vlm_change_media(p_instance, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop):5277 '''Edit the parameters of a media. This will delete all existing inputs and 5278 add the specified one. 5279 @param p_instance: the instance. 5280 @param psz_name: the name of the new broadcast. 5281 @param psz_input: the input MRL. 5282 @param psz_output: the output MRL (the parameter to the "sout" variable). 5283 @param i_options: number of additional options. 5284 @param ppsz_options: additional options. 5285 @param b_enabled: boolean for enabling the new broadcast. 5286 @param b_loop: Should this broadcast be played in loop ? 5287 @return: 0 on success, -1 on error. 5288 ''' 5289 f = _Cfunctions.get('libvlc_vlm_change_media', None) or \ 5290 _Cfunction('libvlc_vlm_change_media', ((1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,),), None, 5291 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p), ctypes.c_int, ctypes.c_int) 5292 return f(p_instance, psz_name, psz_input, psz_output, i_options, ppsz_options, b_enabled, b_loop)52935295 '''Play the named broadcast. 5296 @param p_instance: the instance. 5297 @param psz_name: the name of the broadcast. 5298 @return: 0 on success, -1 on error. 5299 ''' 5300 f = _Cfunctions.get('libvlc_vlm_play_media', None) or \ 5301 _Cfunction('libvlc_vlm_play_media', ((1,), (1,),), None, 5302 ctypes.c_int, Instance, ctypes.c_char_p) 5303 return f(p_instance, psz_name)53045306 '''Stop the named broadcast. 5307 @param p_instance: the instance. 5308 @param psz_name: the name of the broadcast. 5309 @return: 0 on success, -1 on error. 5310 ''' 5311 f = _Cfunctions.get('libvlc_vlm_stop_media', None) or \ 5312 _Cfunction('libvlc_vlm_stop_media', ((1,), (1,),), None, 5313 ctypes.c_int, Instance, ctypes.c_char_p) 5314 return f(p_instance, psz_name)53155317 '''Pause the named broadcast. 5318 @param p_instance: the instance. 5319 @param psz_name: the name of the broadcast. 5320 @return: 0 on success, -1 on error. 5321 ''' 5322 f = _Cfunctions.get('libvlc_vlm_pause_media', None) or \ 5323 _Cfunction('libvlc_vlm_pause_media', ((1,), (1,),), None, 5324 ctypes.c_int, Instance, ctypes.c_char_p) 5325 return f(p_instance, psz_name)53265328 '''Seek in the named broadcast. 5329 @param p_instance: the instance. 5330 @param psz_name: the name of the broadcast. 5331 @param f_percentage: the percentage to seek to. 5332 @return: 0 on success, -1 on error. 5333 ''' 5334 f = _Cfunctions.get('libvlc_vlm_seek_media', None) or \ 5335 _Cfunction('libvlc_vlm_seek_media', ((1,), (1,), (1,),), None, 5336 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_float) 5337 return f(p_instance, psz_name, f_percentage)53385340 '''Return information about the named media as a JSON 5341 string representation. 5342 This function is mainly intended for debugging use, 5343 if you want programmatic access to the state of 5344 a vlm_media_instance_t, please use the corresponding 5345 libvlc_vlm_get_media_instance_xxx -functions. 5346 Currently there are no such functions available for 5347 vlm_media_t though. 5348 @param p_instance: the instance. 5349 @param psz_name: the name of the media, if the name is an empty string, all media is described. 5350 @return: string with information about named media, or None on error. 5351 ''' 5352 f = _Cfunctions.get('libvlc_vlm_show_media', None) or \ 5353 _Cfunction('libvlc_vlm_show_media', ((1,), (1,),), string_result, 5354 ctypes.c_void_p, Instance, ctypes.c_char_p) 5355 return f(p_instance, psz_name)53565358 '''Get vlm_media instance position by name or instance id. 5359 @param p_instance: a libvlc instance. 5360 @param psz_name: name of vlm media instance. 5361 @param i_instance: instance id. 5362 @return: position as float or -1. on error. 5363 ''' 5364 f = _Cfunctions.get('libvlc_vlm_get_media_instance_position', None) or \ 5365 _Cfunction('libvlc_vlm_get_media_instance_position', ((1,), (1,), (1,),), None, 5366 ctypes.c_float, Instance, ctypes.c_char_p, ctypes.c_int) 5367 return f(p_instance, psz_name, i_instance)53685370 '''Get vlm_media instance time by name or instance id. 5371 @param p_instance: a libvlc instance. 5372 @param psz_name: name of vlm media instance. 5373 @param i_instance: instance id. 5374 @return: time as integer or -1 on error. 5375 ''' 5376 f = _Cfunctions.get('libvlc_vlm_get_media_instance_time', None) or \ 5377 _Cfunction('libvlc_vlm_get_media_instance_time', ((1,), (1,), (1,),), None, 5378 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5379 return f(p_instance, psz_name, i_instance)53805382 '''Get vlm_media instance length by name or instance id. 5383 @param p_instance: a libvlc instance. 5384 @param psz_name: name of vlm media instance. 5385 @param i_instance: instance id. 5386 @return: length of media item or -1 on error. 5387 ''' 5388 f = _Cfunctions.get('libvlc_vlm_get_media_instance_length', None) or \ 5389 _Cfunction('libvlc_vlm_get_media_instance_length', ((1,), (1,), (1,),), None, 5390 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5391 return f(p_instance, psz_name, i_instance)53925394 '''Get vlm_media instance playback rate by name or instance id. 5395 @param p_instance: a libvlc instance. 5396 @param psz_name: name of vlm media instance. 5397 @param i_instance: instance id. 5398 @return: playback rate or -1 on error. 5399 ''' 5400 f = _Cfunctions.get('libvlc_vlm_get_media_instance_rate', None) or \ 5401 _Cfunction('libvlc_vlm_get_media_instance_rate', ((1,), (1,), (1,),), None, 5402 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5403 return f(p_instance, psz_name, i_instance)54045406 '''Get vlm_media instance title number by name or instance id. 5407 @param p_instance: a libvlc instance. 5408 @param psz_name: name of vlm media instance. 5409 @param i_instance: instance id. 5410 @return: title as number or -1 on error. 5411 @bug: will always return 0. 5412 ''' 5413 f = _Cfunctions.get('libvlc_vlm_get_media_instance_title', None) or \ 5414 _Cfunction('libvlc_vlm_get_media_instance_title', ((1,), (1,), (1,),), None, 5415 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5416 return f(p_instance, psz_name, i_instance)54175419 '''Get vlm_media instance chapter number by name or instance id. 5420 @param p_instance: a libvlc instance. 5421 @param psz_name: name of vlm media instance. 5422 @param i_instance: instance id. 5423 @return: chapter as number or -1 on error. 5424 @bug: will always return 0. 5425 ''' 5426 f = _Cfunctions.get('libvlc_vlm_get_media_instance_chapter', None) or \ 5427 _Cfunction('libvlc_vlm_get_media_instance_chapter', ((1,), (1,), (1,),), None, 5428 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5429 return f(p_instance, psz_name, i_instance)54305432 '''Is libvlc instance seekable ? 5433 @param p_instance: a libvlc instance. 5434 @param psz_name: name of vlm media instance. 5435 @param i_instance: instance id. 5436 @return: 1 if seekable, 0 if not, -1 if media does not exist. 5437 @bug: will always return 0. 5438 ''' 5439 f = _Cfunctions.get('libvlc_vlm_get_media_instance_seekable', None) or \ 5440 _Cfunction('libvlc_vlm_get_media_instance_seekable', ((1,), (1,), (1,),), None, 5441 ctypes.c_int, Instance, ctypes.c_char_p, ctypes.c_int) 5442 return f(p_instance, psz_name, i_instance)54435445 '''Get libvlc_event_manager from a vlm media. 5446 The p_event_manager is immutable, so you don't have to hold the lock. 5447 @param p_instance: a libvlc instance. 5448 @return: libvlc_event_manager. 5449 ''' 5450 f = _Cfunctions.get('libvlc_vlm_get_event_manager', None) or \ 5451 _Cfunction('libvlc_vlm_get_event_manager', ((1,),), class_result(EventManager), 5452 ctypes.c_void_p, Instance) 5453 return f(p_instance)54545456 '''Create a media with a certain given media resource location, 5457 for instance a valid URL. 5458 @note: To refer to a local file with this function, 5459 the file://... URI syntax B{must} be used (see IETF RFC3986). 5460 We recommend using L{libvlc_media_new_path}() instead when dealing with 5461 local files. 5462 See L{libvlc_media_release}. 5463 @param p_instance: the instance. 5464 @param psz_mrl: the media location. 5465 @return: the newly created media or None on error. 5466 ''' 5467 f = _Cfunctions.get('libvlc_media_new_location', None) or \ 5468 _Cfunction('libvlc_media_new_location', ((1,), (1,),), class_result(Media), 5469 ctypes.c_void_p, Instance, ctypes.c_char_p) 5470 return f(p_instance, psz_mrl)54715473 '''Create a media for a certain file path. 5474 See L{libvlc_media_release}. 5475 @param p_instance: the instance. 5476 @param path: local filesystem path. 5477 @return: the newly created media or None on error. 5478 ''' 5479 f = _Cfunctions.get('libvlc_media_new_path', None) or \ 5480 _Cfunction('libvlc_media_new_path', ((1,), (1,),), class_result(Media), 5481 ctypes.c_void_p, Instance, ctypes.c_char_p) 5482 return f(p_instance, path)54835485 '''Create a media for an already open file descriptor. 5486 The file descriptor shall be open for reading (or reading and writing). 5487 Regular file descriptors, pipe read descriptors and character device 5488 descriptors (including TTYs) are supported on all platforms. 5489 Block device descriptors are supported where available. 5490 Directory descriptors are supported on systems that provide fdopendir(). 5491 Sockets are supported on all platforms where they are file descriptors, 5492 i.e. all except Windows. 5493 @note: This library will B{not} automatically close the file descriptor 5494 under any circumstance. Nevertheless, a file descriptor can usually only be 5495 rendered once in a media player. To render it a second time, the file 5496 descriptor should probably be rewound to the beginning with lseek(). 5497 See L{libvlc_media_release}. 5498 @param p_instance: the instance. 5499 @param fd: open file descriptor. 5500 @return: the newly created media or None on error. 5501 @version: LibVLC 1.1.5 and later. 5502 ''' 5503 f = _Cfunctions.get('libvlc_media_new_fd', None) or \ 5504 _Cfunction('libvlc_media_new_fd', ((1,), (1,),), class_result(Media), 5505 ctypes.c_void_p, Instance, ctypes.c_int) 5506 return f(p_instance, fd)55075509 '''Create a media with custom callbacks to read the data from. 5510 @param instance: LibVLC instance. 5511 @param open_cb: callback to open the custom bitstream input media. 5512 @param read_cb: callback to read data (must not be None). 5513 @param seek_cb: callback to seek, or None if seeking is not supported. 5514 @param close_cb: callback to close the media, or None if unnecessary. 5515 @param opaque: data pointer for the open callback. 5516 @return: the newly created media or None on error @note If open_cb is None, the opaque pointer will be passed to read_cb, seek_cb and close_cb, and the stream size will be treated as unknown. @note The callbacks may be called asynchronously (from another thread). A single stream instance need not be reentrant. However the open_cb needs to be reentrant if the media is used by multiple player instances. @warning The callbacks may be used until all or any player instances that were supplied the media item are stopped. See L{libvlc_media_release}. 5517 @version: LibVLC 3.0.0 and later. 5518 ''' 5519 f = _Cfunctions.get('libvlc_media_new_callbacks', None) or \ 5520 _Cfunction('libvlc_media_new_callbacks', ((1,), (1,), (1,), (1,), (1,), (1,),), class_result(Media), 5521 ctypes.c_void_p, Instance, MediaOpenCb, MediaReadCb, MediaSeekCb, MediaCloseCb, ctypes.c_void_p) 5522 return f(instance, open_cb, read_cb, seek_cb, close_cb, opaque)55235525 '''Create a media as an empty node with a given name. 5526 See L{libvlc_media_release}. 5527 @param p_instance: the instance. 5528 @param psz_name: the name of the node. 5529 @return: the new empty media or None on error. 5530 ''' 5531 f = _Cfunctions.get('libvlc_media_new_as_node', None) or \ 5532 _Cfunction('libvlc_media_new_as_node', ((1,), (1,),), class_result(Media), 5533 ctypes.c_void_p, Instance, ctypes.c_char_p) 5534 return f(p_instance, psz_name)55355537 '''Add an option to the media. 5538 This option will be used to determine how the media_player will 5539 read the media. This allows to use VLC's advanced 5540 reading/streaming options on a per-media basis. 5541 @note: The options are listed in 'vlc --long-help' from the command line, 5542 e.g. "-sout-all". Keep in mind that available options and their semantics 5543 vary across LibVLC versions and builds. 5544 @warning: Not all options affects L{Media} objects: 5545 Specifically, due to architectural issues most audio and video options, 5546 such as text renderer options, have no effects on an individual media. 5547 These options must be set through L{libvlc_new}() instead. 5548 @param p_md: the media descriptor. 5549 @param psz_options: the options (as a string). 5550 ''' 5551 f = _Cfunctions.get('libvlc_media_add_option', None) or \ 5552 _Cfunction('libvlc_media_add_option', ((1,), (1,),), None, 5553 None, Media, ctypes.c_char_p) 5554 return f(p_md, psz_options)55555557 '''Add an option to the media with configurable flags. 5558 This option will be used to determine how the media_player will 5559 read the media. This allows to use VLC's advanced 5560 reading/streaming options on a per-media basis. 5561 The options are detailed in vlc --long-help, for instance 5562 "--sout-all". Note that all options are not usable on medias: 5563 specifically, due to architectural issues, video-related options 5564 such as text renderer options cannot be set on a single media. They 5565 must be set on the whole libvlc instance instead. 5566 @param p_md: the media descriptor. 5567 @param psz_options: the options (as a string). 5568 @param i_flags: the flags for this option. 5569 ''' 5570 f = _Cfunctions.get('libvlc_media_add_option_flag', None) or \ 5571 _Cfunction('libvlc_media_add_option_flag', ((1,), (1,), (1,),), None, 5572 None, Media, ctypes.c_char_p, ctypes.c_uint) 5573 return f(p_md, psz_options, i_flags)55745576 '''Retain a reference to a media descriptor object (L{Media}). Use 5577 L{libvlc_media_release}() to decrement the reference count of a 5578 media descriptor object. 5579 @param p_md: the media descriptor. 5580 ''' 5581 f = _Cfunctions.get('libvlc_media_retain', None) or \ 5582 _Cfunction('libvlc_media_retain', ((1,),), None, 5583 None, Media) 5584 return f(p_md)55855587 '''Decrement the reference count of a media descriptor object. If the 5588 reference count is 0, then L{libvlc_media_release}() will release the 5589 media descriptor object. It will send out an libvlc_MediaFreed event 5590 to all listeners. If the media descriptor object has been released it 5591 should not be used again. 5592 @param p_md: the media descriptor. 5593 ''' 5594 f = _Cfunctions.get('libvlc_media_release', None) or \ 5595 _Cfunction('libvlc_media_release', ((1,),), None, 5596 None, Media) 5597 return f(p_md)55985600 '''Get the media resource locator (mrl) from a media descriptor object. 5601 @param p_md: a media descriptor object. 5602 @return: string with mrl of media descriptor object. 5603 ''' 5604 f = _Cfunctions.get('libvlc_media_get_mrl', None) or \ 5605 _Cfunction('libvlc_media_get_mrl', ((1,),), string_result, 5606 ctypes.c_void_p, Media) 5607 return f(p_md)56085610 '''Duplicate a media descriptor object. 5611 @param p_md: a media descriptor object. 5612 ''' 5613 f = _Cfunctions.get('libvlc_media_duplicate', None) or \ 5614 _Cfunction('libvlc_media_duplicate', ((1,),), class_result(Media), 5615 ctypes.c_void_p, Media) 5616 return f(p_md)56175619 '''Read the meta of the media. 5620 If the media has not yet been parsed this will return None. 5621 See L{libvlc_media_parse} 5622 See L{libvlc_media_parse_with_options} 5623 See libvlc_MediaMetaChanged. 5624 @param p_md: the media descriptor. 5625 @param e_meta: the meta to read. 5626 @return: the media's meta. 5627 ''' 5628 f = _Cfunctions.get('libvlc_media_get_meta', None) or \ 5629 _Cfunction('libvlc_media_get_meta', ((1,), (1,),), string_result, 5630 ctypes.c_void_p, Media, Meta) 5631 return f(p_md, e_meta)56325634 '''Set the meta of the media (this function will not save the meta, call 5635 L{libvlc_media_save_meta} in order to save the meta). 5636 @param p_md: the media descriptor. 5637 @param e_meta: the meta to write. 5638 @param psz_value: the media's meta. 5639 ''' 5640 f = _Cfunctions.get('libvlc_media_set_meta', None) or \ 5641 _Cfunction('libvlc_media_set_meta', ((1,), (1,), (1,),), None, 5642 None, Media, Meta, ctypes.c_char_p) 5643 return f(p_md, e_meta, psz_value)56445646 '''Save the meta previously set. 5647 @param p_md: the media desriptor. 5648 @return: true if the write operation was successful. 5649 ''' 5650 f = _Cfunctions.get('libvlc_media_save_meta', None) or \ 5651 _Cfunction('libvlc_media_save_meta', ((1,),), None, 5652 ctypes.c_int, Media) 5653 return f(p_md)56545656 '''Get current state of media descriptor object. Possible media states are 5657 libvlc_NothingSpecial=0, libvlc_Opening, libvlc_Playing, libvlc_Paused, 5658 libvlc_Stopped, libvlc_Ended, libvlc_Error. 5659 See L{State}. 5660 @param p_md: a media descriptor object. 5661 @return: state of media descriptor object. 5662 ''' 5663 f = _Cfunctions.get('libvlc_media_get_state', None) or \ 5664 _Cfunction('libvlc_media_get_state', ((1,),), None, 5665 State, Media) 5666 return f(p_md)56675669 '''Get the current statistics about the media. 5670 @param p_md:: media descriptor object. 5671 @param p_stats:: structure that contain the statistics about the media (this structure must be allocated by the caller). 5672 @return: true if the statistics are available, false otherwise \libvlc_return_bool. 5673 ''' 5674 f = _Cfunctions.get('libvlc_media_get_stats', None) or \ 5675 _Cfunction('libvlc_media_get_stats', ((1,), (1,),), None, 5676 ctypes.c_int, Media, ctypes.POINTER(MediaStats)) 5677 return f(p_md, p_stats)56785680 '''Get subitems of media descriptor object. This will increment 5681 the reference count of supplied media descriptor object. Use 5682 L{libvlc_media_list_release}() to decrement the reference counting. 5683 @param p_md: media descriptor object. 5684 @return: list of media descriptor subitems or None. 5685 ''' 5686 f = _Cfunctions.get('libvlc_media_subitems', None) or \ 5687 _Cfunction('libvlc_media_subitems', ((1,),), class_result(MediaList), 5688 ctypes.c_void_p, Media) 5689 return f(p_md)56905692 '''Get event manager from media descriptor object. 5693 NOTE: this function doesn't increment reference counting. 5694 @param p_md: a media descriptor object. 5695 @return: event manager object. 5696 ''' 5697 f = _Cfunctions.get('libvlc_media_event_manager', None) or \ 5698 _Cfunction('libvlc_media_event_manager', ((1,),), class_result(EventManager), 5699 ctypes.c_void_p, Media) 5700 return f(p_md)57015703 '''Get duration (in ms) of media descriptor object item. 5704 @param p_md: media descriptor object. 5705 @return: duration of media item or -1 on error. 5706 ''' 5707 f = _Cfunctions.get('libvlc_media_get_duration', None) or \ 5708 _Cfunction('libvlc_media_get_duration', ((1,),), None, 5709 ctypes.c_longlong, Media) 5710 return f(p_md)57115713 '''Parse the media asynchronously with options. 5714 This fetches (local or network) art, meta data and/or tracks information. 5715 This method is the extended version of L{libvlc_media_parse_with_options}(). 5716 To track when this is over you can listen to libvlc_MediaParsedChanged 5717 event. However if this functions returns an error, you will not receive any 5718 events. 5719 It uses a flag to specify parse options (see L{MediaParseFlag}). All 5720 these flags can be combined. By default, media is parsed if it's a local 5721 file. 5722 @note: Parsing can be aborted with L{libvlc_media_parse_stop}(). 5723 See libvlc_MediaParsedChanged 5724 See L{libvlc_media_get_meta} 5725 See L{libvlc_media_tracks_get} 5726 See L{libvlc_media_get_parsed_status} 5727 See L{MediaParseFlag}. 5728 @param p_md: media descriptor object. 5729 @param parse_flag: parse options: 5730 @param timeout: maximum time allowed to preparse the media. If -1, the default "preparse-timeout" option will be used as a timeout. If 0, it will wait indefinitely. If > 0, the timeout will be used (in milliseconds). 5731 @return: -1 in case of error, 0 otherwise. 5732 @version: LibVLC 3.0.0 or later. 5733 ''' 5734 f = _Cfunctions.get('libvlc_media_parse_with_options', None) or \ 5735 _Cfunction('libvlc_media_parse_with_options', ((1,), (1,), (1,),), None, 5736 ctypes.c_int, Media, MediaParseFlag, ctypes.c_int) 5737 return f(p_md, parse_flag, timeout)57385740 '''Stop the parsing of the media 5741 When the media parsing is stopped, the libvlc_MediaParsedChanged event will 5742 be sent with the libvlc_media_parsed_status_timeout status. 5743 See L{libvlc_media_parse_with_options}. 5744 @param p_md: media descriptor object. 5745 @version: LibVLC 3.0.0 or later. 5746 ''' 5747 f = _Cfunctions.get('libvlc_media_parse_stop', None) or \ 5748 _Cfunction('libvlc_media_parse_stop', ((1,),), None, 5749 None, Media) 5750 return f(p_md)57515753 '''Get Parsed status for media descriptor object. 5754 See libvlc_MediaParsedChanged 5755 See L{MediaParsedStatus}. 5756 @param p_md: media descriptor object. 5757 @return: a value of the L{MediaParsedStatus} enum. 5758 @version: LibVLC 3.0.0 or later. 5759 ''' 5760 f = _Cfunctions.get('libvlc_media_get_parsed_status', None) or \ 5761 _Cfunction('libvlc_media_get_parsed_status', ((1,),), None, 5762 MediaParsedStatus, Media) 5763 return f(p_md)57645766 '''Sets media descriptor's user_data. user_data is specialized data 5767 accessed by the host application, VLC.framework uses it as a pointer to 5768 an native object that references a L{Media} pointer. 5769 @param p_md: media descriptor object. 5770 @param p_new_user_data: pointer to user data. 5771 ''' 5772 f = _Cfunctions.get('libvlc_media_set_user_data', None) or \ 5773 _Cfunction('libvlc_media_set_user_data', ((1,), (1,),), None, 5774 None, Media, ctypes.c_void_p) 5775 return f(p_md, p_new_user_data)57765778 '''Get media descriptor's user_data. user_data is specialized data 5779 accessed by the host application, VLC.framework uses it as a pointer to 5780 an native object that references a L{Media} pointer. 5781 @param p_md: media descriptor object. 5782 ''' 5783 f = _Cfunctions.get('libvlc_media_get_user_data', None) or \ 5784 _Cfunction('libvlc_media_get_user_data', ((1,),), None, 5785 ctypes.c_void_p, Media) 5786 return f(p_md)57875789 '''Get media descriptor's elementary streams description 5790 Note, you need to call L{libvlc_media_parse}() or play the media at least once 5791 before calling this function. 5792 Not doing this will result in an empty array. 5793 @param p_md: media descriptor object. 5794 @param tracks: address to store an allocated array of Elementary Streams descriptions (must be freed with L{libvlc_media_tracks_release}. 5795 @return: the number of Elementary Streams (zero on error). 5796 @version: LibVLC 2.1.0 and later. 5797 ''' 5798 f = _Cfunctions.get('libvlc_media_tracks_get', None) or \ 5799 _Cfunction('libvlc_media_tracks_get', ((1,), (1,),), None, 5800 ctypes.c_uint, Media, ctypes.POINTER(ctypes.POINTER(MediaTrack))) 5801 return f(p_md, tracks)58025804 '''Get codec description from media elementary stream. 5805 @param i_type: i_type from L{MediaTrack}. 5806 @param i_codec: i_codec or i_original_fourcc from L{MediaTrack}. 5807 @return: codec description. 5808 @version: LibVLC 3.0.0 and later. See L{MediaTrack}. 5809 ''' 5810 f = _Cfunctions.get('libvlc_media_get_codec_description', None) or \ 5811 _Cfunction('libvlc_media_get_codec_description', ((1,), (1,),), None, 5812 ctypes.c_char_p, TrackType, ctypes.c_uint32) 5813 return f(i_type, i_codec)58145816 '''Release media descriptor's elementary streams description array. 5817 @param p_tracks: tracks info array to release. 5818 @param i_count: number of elements in the array. 5819 @version: LibVLC 2.1.0 and later. 5820 ''' 5821 f = _Cfunctions.get('libvlc_media_tracks_release', None) or \ 5822 _Cfunction('libvlc_media_tracks_release', ((1,), (1,),), None, 5823 None, ctypes.POINTER(MediaTrack), ctypes.c_uint) 5824 return f(p_tracks, i_count)58255827 '''Get the media type of the media descriptor object. 5828 @param p_md: media descriptor object. 5829 @return: media type. 5830 @version: LibVLC 3.0.0 and later. See L{MediaType}. 5831 ''' 5832 f = _Cfunctions.get('libvlc_media_get_type', None) or \ 5833 _Cfunction('libvlc_media_get_type', ((1,),), None, 5834 MediaType, Media) 5835 return f(p_md)58365838 '''Add a slave to the current media. 5839 A slave is an external input source that may contains an additional subtitle 5840 track (like a .srt) or an additional audio track (like a .ac3). 5841 @note: This function must be called before the media is parsed (via 5842 L{libvlc_media_parse_with_options}()) or before the media is played (via 5843 L{libvlc_media_player_play}()). 5844 @param p_md: media descriptor object. 5845 @param i_type: subtitle or audio. 5846 @param i_priority: from 0 (low priority) to 4 (high priority). 5847 @param psz_uri: Uri of the slave (should contain a valid scheme). 5848 @return: 0 on success, -1 on error. 5849 @version: LibVLC 3.0.0 and later. 5850 ''' 5851 f = _Cfunctions.get('libvlc_media_slaves_add', None) or \ 5852 _Cfunction('libvlc_media_slaves_add', ((1,), (1,), (1,), (1,),), None, 5853 ctypes.c_int, Media, MediaSlaveType, ctypes.c_uint, ctypes.c_char_p) 5854 return f(p_md, i_type, i_priority, psz_uri)58555857 '''Clear all slaves previously added by L{libvlc_media_slaves_add}() or 5858 internally. 5859 @param p_md: media descriptor object. 5860 @version: LibVLC 3.0.0 and later. 5861 ''' 5862 f = _Cfunctions.get('libvlc_media_slaves_clear', None) or \ 5863 _Cfunction('libvlc_media_slaves_clear', ((1,),), None, 5864 None, Media) 5865 return f(p_md)58665868 '''Get a media descriptor's slave list 5869 The list will contain slaves parsed by VLC or previously added by 5870 L{libvlc_media_slaves_add}(). The typical use case of this function is to save 5871 a list of slave in a database for a later use. 5872 @param p_md: media descriptor object. 5873 @param ppp_slaves: address to store an allocated array of slaves (must be freed with L{libvlc_media_slaves_release}()) [OUT]. 5874 @return: the number of slaves (zero on error). 5875 @version: LibVLC 3.0.0 and later. See L{libvlc_media_slaves_add}. 5876 ''' 5877 f = _Cfunctions.get('libvlc_media_slaves_get', None) or \ 5878 _Cfunction('libvlc_media_slaves_get', ((1,), (1,),), None, 5879 ctypes.c_uint, Media, ctypes.POINTER(ctypes.POINTER(MediaSlave))) 5880 return f(p_md, ppp_slaves)58815883 '''Release a media descriptor's slave list. 5884 @param pp_slaves: slave array to release. 5885 @param i_count: number of elements in the array. 5886 @version: LibVLC 3.0.0 and later. 5887 ''' 5888 f = _Cfunctions.get('libvlc_media_slaves_release', None) or \ 5889 _Cfunction('libvlc_media_slaves_release', ((1,), (1,),), None, 5890 None, ctypes.POINTER(MediaSlave), ctypes.c_uint) 5891 return f(pp_slaves, i_count)58925894 '''Hold a renderer item, i.e. creates a new reference 5895 This functions need to called from the libvlc_RendererDiscovererItemAdded 5896 callback if the libvlc user wants to use this item after. (for display or 5897 for passing it to the mediaplayer for example). 5898 @return: the current item. 5899 @version: LibVLC 3.0.0 or later. 5900 ''' 5901 f = _Cfunctions.get('libvlc_renderer_item_hold', None) or \ 5902 _Cfunction('libvlc_renderer_item_hold', ((1,),), class_result(Renderer), 5903 ctypes.c_void_p, Renderer) 5904 return f(p_item)59055907 '''Releases a renderer item, i.e. decrements its reference counter. 5908 @version: LibVLC 3.0.0 or later. 5909 ''' 5910 f = _Cfunctions.get('libvlc_renderer_item_release', None) or \ 5911 _Cfunction('libvlc_renderer_item_release', ((1,),), None, 5912 None, Renderer) 5913 return f(p_item)59145916 '''Get the human readable name of a renderer item. 5917 @return: the name of the item (can't be None, must *not* be freed). 5918 @version: LibVLC 3.0.0 or later. 5919 ''' 5920 f = _Cfunctions.get('libvlc_renderer_item_name', None) or \ 5921 _Cfunction('libvlc_renderer_item_name', ((1,),), None, 5922 ctypes.c_char_p, Renderer) 5923 return f(p_item)59245926 '''Get the type (not translated) of a renderer item. For now, the type can only 5927 be "chromecast" ("upnp", "airplay" may come later). 5928 @return: the type of the item (can't be None, must *not* be freed). 5929 @version: LibVLC 3.0.0 or later. 5930 ''' 5931 f = _Cfunctions.get('libvlc_renderer_item_type', None) or \ 5932 _Cfunction('libvlc_renderer_item_type', ((1,),), None, 5933 ctypes.c_char_p, Renderer) 5934 return f(p_item)59355937 '''Get the icon uri of a renderer item. 5938 @return: the uri of the item's icon (can be None, must *not* be freed). 5939 @version: LibVLC 3.0.0 or later. 5940 ''' 5941 f = _Cfunctions.get('libvlc_renderer_item_icon_uri', None) or \ 5942 _Cfunction('libvlc_renderer_item_icon_uri', ((1,),), None, 5943 ctypes.c_char_p, Renderer) 5944 return f(p_item)59455947 '''Get the flags of a renderer item 5948 See LIBVLC_RENDERER_CAN_AUDIO 5949 See LIBVLC_RENDERER_CAN_VIDEO. 5950 @return: bitwise flag: capabilities of the renderer, see. 5951 @version: LibVLC 3.0.0 or later. 5952 ''' 5953 f = _Cfunctions.get('libvlc_renderer_item_flags', None) or \ 5954 _Cfunction('libvlc_renderer_item_flags', ((1,),), None, 5955 ctypes.c_int, Renderer) 5956 return f(p_item)59575959 '''Create a renderer discoverer object by name 5960 After this object is created, you should attach to events in order to be 5961 notified of the discoverer events. 5962 You need to call L{libvlc_renderer_discoverer_start}() in order to start the 5963 discovery. 5964 See L{libvlc_renderer_discoverer_event_manager}() 5965 See L{libvlc_renderer_discoverer_start}(). 5966 @param p_inst: libvlc instance. 5967 @param psz_name: service name; use L{libvlc_renderer_discoverer_list_get}() to get a list of the discoverer names available in this libVLC instance. 5968 @return: media discover object or None in case of error. 5969 @version: LibVLC 3.0.0 or later. 5970 ''' 5971 f = _Cfunctions.get('libvlc_renderer_discoverer_new', None) or \ 5972 _Cfunction('libvlc_renderer_discoverer_new', ((1,), (1,),), class_result(RendererDiscoverer), 5973 ctypes.c_void_p, Instance, ctypes.c_char_p) 5974 return f(p_inst, psz_name)59755977 '''Release a renderer discoverer object. 5978 @param p_rd: renderer discoverer object. 5979 @version: LibVLC 3.0.0 or later. 5980 ''' 5981 f = _Cfunctions.get('libvlc_renderer_discoverer_release', None) or \ 5982 _Cfunction('libvlc_renderer_discoverer_release', ((1,),), None, 5983 None, RendererDiscoverer) 5984 return f(p_rd)59855987 '''Start renderer discovery 5988 To stop it, call L{libvlc_renderer_discoverer_stop}() or 5989 L{libvlc_renderer_discoverer_release}() directly. 5990 See L{libvlc_renderer_discoverer_stop}(). 5991 @param p_rd: renderer discoverer object. 5992 @return: -1 in case of error, 0 otherwise. 5993 @version: LibVLC 3.0.0 or later. 5994 ''' 5995 f = _Cfunctions.get('libvlc_renderer_discoverer_start', None) or \ 5996 _Cfunction('libvlc_renderer_discoverer_start', ((1,),), None, 5997 ctypes.c_int, RendererDiscoverer) 5998 return f(p_rd)59996001 '''Stop renderer discovery. 6002 See L{libvlc_renderer_discoverer_start}(). 6003 @param p_rd: renderer discoverer object. 6004 @version: LibVLC 3.0.0 or later. 6005 ''' 6006 f = _Cfunctions.get('libvlc_renderer_discoverer_stop', None) or \ 6007 _Cfunction('libvlc_renderer_discoverer_stop', ((1,),), None, 6008 None, RendererDiscoverer) 6009 return f(p_rd)60106012 '''Get the event manager of the renderer discoverer 6013 The possible events to attach are @ref libvlc_RendererDiscovererItemAdded 6014 and @ref libvlc_RendererDiscovererItemDeleted. 6015 The @ref L{Renderer} struct passed to event callbacks is owned by 6016 VLC, users should take care of holding/releasing this struct for their 6017 internal usage. 6018 See libvlc_event_t.u.renderer_discoverer_item_added.item 6019 See libvlc_event_t.u.renderer_discoverer_item_removed.item. 6020 @return: a valid event manager (can't fail). 6021 @version: LibVLC 3.0.0 or later. 6022 ''' 6023 f = _Cfunctions.get('libvlc_renderer_discoverer_event_manager', None) or \ 6024 _Cfunction('libvlc_renderer_discoverer_event_manager', ((1,),), class_result(EventManager), 6025 ctypes.c_void_p, RendererDiscoverer) 6026 return f(p_rd)60276029 '''Get media discoverer services 6030 See libvlc_renderer_list_release(). 6031 @param p_inst: libvlc instance. 6032 @param ppp_services: address to store an allocated array of renderer discoverer services (must be freed with libvlc_renderer_list_release() by the caller) [OUT]. 6033 @return: the number of media discoverer services (0 on error). 6034 @version: LibVLC 3.0.0 and later. 6035 ''' 6036 f = _Cfunctions.get('libvlc_renderer_discoverer_list_get', None) or \ 6037 _Cfunction('libvlc_renderer_discoverer_list_get', ((1,), (1,),), None, 6038 ctypes.c_size_t, Instance, ctypes.POINTER(ctypes.POINTER(RDDescription))) 6039 return f(p_inst, ppp_services)60406042 '''Release an array of media discoverer services 6043 See L{libvlc_renderer_discoverer_list_get}(). 6044 @param pp_services: array to release. 6045 @param i_count: number of elements in the array. 6046 @version: LibVLC 3.0.0 and later. 6047 ''' 6048 f = _Cfunctions.get('libvlc_renderer_discoverer_list_release', None) or \ 6049 _Cfunction('libvlc_renderer_discoverer_list_release', ((1,), (1,),), None, 6050 None, ctypes.POINTER(RDDescription), ctypes.c_size_t) 6051 return f(pp_services, i_count)60526054 '''Create an empty media list. 6055 @param p_instance: libvlc instance. 6056 @return: empty media list, or None on error. 6057 ''' 6058 f = _Cfunctions.get('libvlc_media_list_new', None) or \ 6059 _Cfunction('libvlc_media_list_new', ((1,),), class_result(MediaList), 6060 ctypes.c_void_p, Instance) 6061 return f(p_instance)60626064 '''Release media list created with L{libvlc_media_list_new}(). 6065 @param p_ml: a media list created with L{libvlc_media_list_new}(). 6066 ''' 6067 f = _Cfunctions.get('libvlc_media_list_release', None) or \ 6068 _Cfunction('libvlc_media_list_release', ((1,),), None, 6069 None, MediaList) 6070 return f(p_ml)60716073 '''Retain reference to a media list. 6074 @param p_ml: a media list created with L{libvlc_media_list_new}(). 6075 ''' 6076 f = _Cfunctions.get('libvlc_media_list_retain', None) or \ 6077 _Cfunction('libvlc_media_list_retain', ((1,),), None, 6078 None, MediaList) 6079 return f(p_ml)60806082 '''Associate media instance with this media list instance. 6083 If another media instance was present it will be released. 6084 The L{libvlc_media_list_lock} should NOT be held upon entering this function. 6085 @param p_ml: a media list instance. 6086 @param p_md: media instance to add. 6087 ''' 6088 f = _Cfunctions.get('libvlc_media_list_set_media', None) or \ 6089 _Cfunction('libvlc_media_list_set_media', ((1,), (1,),), None, 6090 None, MediaList, Media) 6091 return f(p_ml, p_md)60926094 '''Get media instance from this media list instance. This action will increase 6095 the refcount on the media instance. 6096 The L{libvlc_media_list_lock} should NOT be held upon entering this function. 6097 @param p_ml: a media list instance. 6098 @return: media instance. 6099 ''' 6100 f = _Cfunctions.get('libvlc_media_list_media', None) or \ 6101 _Cfunction('libvlc_media_list_media', ((1,),), class_result(Media), 6102 ctypes.c_void_p, MediaList) 6103 return f(p_ml)61046106 '''Add media instance to media list 6107 The L{libvlc_media_list_lock} should be held upon entering this function. 6108 @param p_ml: a media list instance. 6109 @param p_md: a media instance. 6110 @return: 0 on success, -1 if the media list is read-only. 6111 ''' 6112 f = _Cfunctions.get('libvlc_media_list_add_media', None) or \ 6113 _Cfunction('libvlc_media_list_add_media', ((1,), (1,),), None, 6114 ctypes.c_int, MediaList, Media) 6115 return f(p_ml, p_md)61166118 '''Insert media instance in media list on a position 6119 The L{libvlc_media_list_lock} should be held upon entering this function. 6120 @param p_ml: a media list instance. 6121 @param p_md: a media instance. 6122 @param i_pos: position in array where to insert. 6123 @return: 0 on success, -1 if the media list is read-only. 6124 ''' 6125 f = _Cfunctions.get('libvlc_media_list_insert_media', None) or \ 6126 _Cfunction('libvlc_media_list_insert_media', ((1,), (1,), (1,),), None, 6127 ctypes.c_int, MediaList, Media, ctypes.c_int) 6128 return f(p_ml, p_md, i_pos)61296131 '''Remove media instance from media list on a position 6132 The L{libvlc_media_list_lock} should be held upon entering this function. 6133 @param p_ml: a media list instance. 6134 @param i_pos: position in array where to insert. 6135 @return: 0 on success, -1 if the list is read-only or the item was not found. 6136 ''' 6137 f = _Cfunctions.get('libvlc_media_list_remove_index', None) or \ 6138 _Cfunction('libvlc_media_list_remove_index', ((1,), (1,),), None, 6139 ctypes.c_int, MediaList, ctypes.c_int) 6140 return f(p_ml, i_pos)61416143 '''Get count on media list items 6144 The L{libvlc_media_list_lock} should be held upon entering this function. 6145 @param p_ml: a media list instance. 6146 @return: number of items in media list. 6147 ''' 6148 f = _Cfunctions.get('libvlc_media_list_count', None) or \ 6149 _Cfunction('libvlc_media_list_count', ((1,),), None, 6150 ctypes.c_int, MediaList) 6151 return f(p_ml)61526154 '''List media instance in media list at a position 6155 The L{libvlc_media_list_lock} should be held upon entering this function. 6156 @param p_ml: a media list instance. 6157 @param i_pos: position in array where to insert. 6158 @return: media instance at position i_pos, or None if not found. In case of success, L{libvlc_media_retain}() is called to increase the refcount on the media. 6159 ''' 6160 f = _Cfunctions.get('libvlc_media_list_item_at_index', None) or \ 6161 _Cfunction('libvlc_media_list_item_at_index', ((1,), (1,),), class_result(Media), 6162 ctypes.c_void_p, MediaList, ctypes.c_int) 6163 return f(p_ml, i_pos)61646166 '''Find index position of List media instance in media list. 6167 Warning: the function will return the first matched position. 6168 The L{libvlc_media_list_lock} should be held upon entering this function. 6169 @param p_ml: a media list instance. 6170 @param p_md: media instance. 6171 @return: position of media instance or -1 if media not found. 6172 ''' 6173 f = _Cfunctions.get('libvlc_media_list_index_of_item', None) or \ 6174 _Cfunction('libvlc_media_list_index_of_item', ((1,), (1,),), None, 6175 ctypes.c_int, MediaList, Media) 6176 return f(p_ml, p_md)61776179 '''This indicates if this media list is read-only from a user point of view. 6180 @param p_ml: media list instance. 6181 @return: 1 on readonly, 0 on readwrite \libvlc_return_bool. 6182 ''' 6183 f = _Cfunctions.get('libvlc_media_list_is_readonly', None) or \ 6184 _Cfunction('libvlc_media_list_is_readonly', ((1,),), None, 6185 ctypes.c_int, MediaList) 6186 return f(p_ml)61876189 '''Get lock on media list items. 6190 @param p_ml: a media list instance. 6191 ''' 6192 f = _Cfunctions.get('libvlc_media_list_lock', None) or \ 6193 _Cfunction('libvlc_media_list_lock', ((1,),), None, 6194 None, MediaList) 6195 return f(p_ml)61966198 '''Release lock on media list items 6199 The L{libvlc_media_list_lock} should be held upon entering this function. 6200 @param p_ml: a media list instance. 6201 ''' 6202 f = _Cfunctions.get('libvlc_media_list_unlock', None) or \ 6203 _Cfunction('libvlc_media_list_unlock', ((1,),), None, 6204 None, MediaList) 6205 return f(p_ml)62066208 '''Get libvlc_event_manager from this media list instance. 6209 The p_event_manager is immutable, so you don't have to hold the lock. 6210 @param p_ml: a media list instance. 6211 @return: libvlc_event_manager. 6212 ''' 6213 f = _Cfunctions.get('libvlc_media_list_event_manager', None) or \ 6214 _Cfunction('libvlc_media_list_event_manager', ((1,),), class_result(EventManager), 6215 ctypes.c_void_p, MediaList) 6216 return f(p_ml)62176219 '''Get movie fps rate 6220 This function is provided for backward compatibility. It cannot deal with 6221 multiple video tracks. In LibVLC versions prior to 3.0, it would also fail 6222 if the file format did not convey the frame rate explicitly. 6223 \deprecated Consider using L{libvlc_media_tracks_get}() instead. 6224 @param p_mi: the Media Player. 6225 @return: frames per second (fps) for this playing movie, or 0 if unspecified. 6226 ''' 6227 f = _Cfunctions.get('libvlc_media_player_get_fps', None) or \ 6228 _Cfunction('libvlc_media_player_get_fps', ((1,),), None, 6229 ctypes.c_float, MediaPlayer) 6230 return f(p_mi)62316233 '''\deprecated Use L{libvlc_media_player_set_nsobject}() instead. 6234 ''' 6235 f = _Cfunctions.get('libvlc_media_player_set_agl', None) or \ 6236 _Cfunction('libvlc_media_player_set_agl', ((1,), (1,),), None, 6237 None, MediaPlayer, ctypes.c_uint32) 6238 return f(p_mi, drawable)62396241 '''\deprecated Use L{libvlc_media_player_get_nsobject}() instead. 6242 ''' 6243 f = _Cfunctions.get('libvlc_media_player_get_agl', None) or \ 6244 _Cfunction('libvlc_media_player_get_agl', ((1,),), None, 6245 ctypes.c_uint32, MediaPlayer) 6246 return f(p_mi)62476249 '''\deprecated Use L{libvlc_track_description_list_release}() instead. 6250 ''' 6251 f = _Cfunctions.get('libvlc_track_description_release', None) or \ 6252 _Cfunction('libvlc_track_description_release', ((1,),), None, 6253 None, ctypes.POINTER(TrackDescription)) 6254 return f(p_track_description)62556257 '''Get current video height. 6258 \deprecated Use L{libvlc_video_get_size}() instead. 6259 @param p_mi: the media player. 6260 @return: the video pixel height or 0 if not applicable. 6261 ''' 6262 f = _Cfunctions.get('libvlc_video_get_height', None) or \ 6263 _Cfunction('libvlc_video_get_height', ((1,),), None, 6264 ctypes.c_int, MediaPlayer) 6265 return f(p_mi)62666268 '''Get current video width. 6269 \deprecated Use L{libvlc_video_get_size}() instead. 6270 @param p_mi: the media player. 6271 @return: the video pixel width or 0 if not applicable. 6272 ''' 6273 f = _Cfunctions.get('libvlc_video_get_width', None) or \ 6274 _Cfunction('libvlc_video_get_width', ((1,),), None, 6275 ctypes.c_int, MediaPlayer) 6276 return f(p_mi)62776279 '''Get the description of available titles. 6280 @param p_mi: the media player. 6281 @return: list containing description of available titles. It must be freed with L{libvlc_track_description_list_release}(). 6282 ''' 6283 f = _Cfunctions.get('libvlc_video_get_title_description', None) or \ 6284 _Cfunction('libvlc_video_get_title_description', ((1,),), None, 6285 ctypes.POINTER(TrackDescription), MediaPlayer) 6286 return f(p_mi)62876289 '''Get the description of available chapters for specific title. 6290 @param p_mi: the media player. 6291 @param i_title: selected title. 6292 @return: list containing description of available chapter for title i_title. It must be freed with L{libvlc_track_description_list_release}(). 6293 ''' 6294 f = _Cfunctions.get('libvlc_video_get_chapter_description', None) or \ 6295 _Cfunction('libvlc_video_get_chapter_description', ((1,), (1,),), None, 6296 ctypes.POINTER(TrackDescription), MediaPlayer, ctypes.c_int) 6297 return f(p_mi, i_title)62986300 '''Set new video subtitle file. 6301 \deprecated Use L{libvlc_media_player_add_slave}() instead. 6302 @param p_mi: the media player. 6303 @param psz_subtitle: new video subtitle file. 6304 @return: the success status (boolean). 6305 ''' 6306 f = _Cfunctions.get('libvlc_video_set_subtitle_file', None) or \ 6307 _Cfunction('libvlc_video_set_subtitle_file', ((1,), (1,),), None, 6308 ctypes.c_int, MediaPlayer, ctypes.c_char_p) 6309 return f(p_mi, psz_subtitle)63106312 '''Toggle teletext transparent status on video output. 6313 \deprecated use L{libvlc_video_set_teletext}() instead. 6314 @param p_mi: the media player. 6315 ''' 6316 f = _Cfunctions.get('libvlc_toggle_teletext', None) or \ 6317 _Cfunction('libvlc_toggle_teletext', ((1,),), None, 6318 None, MediaPlayer) 6319 return f(p_mi)63206322 '''Backward compatibility stub. Do not use in new code. 6323 \deprecated Use L{libvlc_audio_output_device_list_get}() instead. 6324 @return: always 0. 6325 ''' 6326 f = _Cfunctions.get('libvlc_audio_output_device_count', None) or \ 6327 _Cfunction('libvlc_audio_output_device_count', ((1,), (1,),), None, 6328 ctypes.c_int, Instance, ctypes.c_char_p) 6329 return f(p_instance, psz_audio_output)63306332 '''Backward compatibility stub. Do not use in new code. 6333 \deprecated Use L{libvlc_audio_output_device_list_get}() instead. 6334 @return: always None. 6335 ''' 6336 f = _Cfunctions.get('libvlc_audio_output_device_longname', None) or \ 6337 _Cfunction('libvlc_audio_output_device_longname', ((1,), (1,), (1,),), string_result, 6338 ctypes.c_void_p, Instance, ctypes.c_char_p, ctypes.c_int) 6339 return f(p_instance, psz_output, i_device)63406342 '''Backward compatibility stub. Do not use in new code. 6343 \deprecated Use L{libvlc_audio_output_device_list_get}() instead. 6344 @return: always None. 6345 ''' 6346 f = _Cfunctions.get('libvlc_audio_output_device_id', None) or \ 6347 _Cfunction('libvlc_audio_output_device_id', ((1,), (1,), (1,),), string_result, 6348 ctypes.c_void_p, Instance, ctypes.c_char_p, ctypes.c_int) 6349 return f(p_instance, psz_audio_output, i_device)63506352 '''Parse a media. 6353 This fetches (local) art, meta data and tracks information. 6354 The method is synchronous. 6355 \deprecated This function could block indefinitely. 6356 Use L{libvlc_media_parse_with_options}() instead 6357 See L{libvlc_media_parse_with_options} 6358 See L{libvlc_media_get_meta} 6359 See L{libvlc_media_get_tracks_info}. 6360 @param p_md: media descriptor object. 6361 ''' 6362 f = _Cfunctions.get('libvlc_media_parse', None) or \ 6363 _Cfunction('libvlc_media_parse', ((1,),), None, 6364 None, Media) 6365 return f(p_md)63666368 '''Parse a media. 6369 This fetches (local) art, meta data and tracks information. 6370 The method is the asynchronous of L{libvlc_media_parse}(). 6371 To track when this is over you can listen to libvlc_MediaParsedChanged 6372 event. However if the media was already parsed you will not receive this 6373 event. 6374 \deprecated You can't be sure to receive the libvlc_MediaParsedChanged 6375 event (you can wait indefinitely for this event). 6376 Use L{libvlc_media_parse_with_options}() instead 6377 See L{libvlc_media_parse} 6378 See libvlc_MediaParsedChanged 6379 See L{libvlc_media_get_meta} 6380 See L{libvlc_media_get_tracks_info}. 6381 @param p_md: media descriptor object. 6382 ''' 6383 f = _Cfunctions.get('libvlc_media_parse_async', None) or \ 6384 _Cfunction('libvlc_media_parse_async', ((1,),), None, 6385 None, Media) 6386 return f(p_md)63876389 '''Return true is the media descriptor object is parsed 6390 \deprecated This can return true in case of failure. 6391 Use L{libvlc_media_get_parsed_status}() instead 6392 See libvlc_MediaParsedChanged. 6393 @param p_md: media descriptor object. 6394 @return: true if media object has been parsed otherwise it returns false \libvlc_return_bool. 6395 ''' 6396 f = _Cfunctions.get('libvlc_media_is_parsed', None) or \ 6397 _Cfunction('libvlc_media_is_parsed', ((1,),), None, 6398 ctypes.c_int, Media) 6399 return f(p_md)64006402 '''Get media descriptor's elementary streams description 6403 Note, you need to call L{libvlc_media_parse}() or play the media at least once 6404 before calling this function. 6405 Not doing this will result in an empty array. 6406 \deprecated Use L{libvlc_media_tracks_get}() instead. 6407 @param p_md: media descriptor object. 6408 @param tracks: address to store an allocated array of Elementary Streams descriptions (must be freed by the caller) [OUT]. 6409 @return: the number of Elementary Streams. 6410 ''' 6411 f = _Cfunctions.get('libvlc_media_get_tracks_info', None) or \ 6412 _Cfunction('libvlc_media_get_tracks_info', ((1,), (2,),), None, 6413 ctypes.c_int, Media, ctypes.POINTER(ctypes.c_void_p)) 6414 return f(p_md)64156417 '''\deprecated Use L{libvlc_media_discoverer_new}() and L{libvlc_media_discoverer_start}(). 6418 ''' 6419 f = _Cfunctions.get('libvlc_media_discoverer_new_from_name', None) or \ 6420 _Cfunction('libvlc_media_discoverer_new_from_name', ((1,), (1,),), class_result(MediaDiscoverer), 6421 ctypes.c_void_p, Instance, ctypes.c_char_p) 6422 return f(p_inst, psz_name)64236425 '''Get media service discover object its localized name. 6426 \deprecated Useless, use L{libvlc_media_discoverer_list_get}() to get the 6427 longname of the service discovery. 6428 @param p_mdis: media discover object. 6429 @return: localized name or None if the media_discoverer is not started. 6430 ''' 6431 f = _Cfunctions.get('libvlc_media_discoverer_localized_name', None) or \ 6432 _Cfunction('libvlc_media_discoverer_localized_name', ((1,),), string_result, 6433 ctypes.c_void_p, MediaDiscoverer) 6434 return f(p_mdis)64356437 '''Get event manager from media service discover object. 6438 \deprecated Useless, media_discoverer events are only triggered when calling 6439 L{libvlc_media_discoverer_start}() and L{libvlc_media_discoverer_stop}(). 6440 @param p_mdis: media service discover object. 6441 @return: event manager object. 6442 ''' 6443 f = _Cfunctions.get('libvlc_media_discoverer_event_manager', None) or \ 6444 _Cfunction('libvlc_media_discoverer_event_manager', ((1,),), class_result(EventManager), 6445 ctypes.c_void_p, MediaDiscoverer) 6446 return f(p_mdis)64476449 '''Waits until an interface causes the instance to exit. 6450 You should start at least one interface first, using L{libvlc_add_intf}(). 6451 @param p_instance: the instance @warning This function wastes one thread doing basically nothing. libvlc_set_exit_handler() should be used instead. 6452 ''' 6453 f = _Cfunctions.get('libvlc_wait', None) or \ 6454 _Cfunction('libvlc_wait', ((1,),), None, 6455 None, Instance) 6456 return f(p_instance)64576459 '''Always returns minus one. 6460 This function is only provided for backward compatibility. 6461 @param p_instance: ignored. 6462 @return: always -1. 6463 ''' 6464 f = _Cfunctions.get('libvlc_get_log_verbosity', None) or \ 6465 _Cfunction('libvlc_get_log_verbosity', ((1,),), None, 6466 ctypes.c_uint, Instance) 6467 return f(p_instance)64686470 '''This function does nothing. 6471 It is only provided for backward compatibility. 6472 @param p_instance: ignored. 6473 @param level: ignored. 6474 ''' 6475 f = _Cfunctions.get('libvlc_set_log_verbosity', None) or \ 6476 _Cfunction('libvlc_set_log_verbosity', ((1,), (1,),), None, 6477 None, Instance, ctypes.c_uint) 6478 return f(p_instance, level)64796481 '''This function does nothing useful. 6482 It is only provided for backward compatibility. 6483 @param p_instance: libvlc instance. 6484 @return: an unique pointer or None on error. 6485 ''' 6486 f = _Cfunctions.get('libvlc_log_open', None) or \ 6487 _Cfunction('libvlc_log_open', ((1,),), None, 6488 Log_ptr, Instance) 6489 return f(p_instance)64906492 '''Frees memory allocated by L{libvlc_log_open}(). 6493 @param p_log: libvlc log instance or None. 6494 ''' 6495 f = _Cfunctions.get('libvlc_log_close', None) or \ 6496 _Cfunction('libvlc_log_close', ((1,),), None, 6497 None, Log_ptr) 6498 return f(p_log)64996501 '''Always returns zero. 6502 This function is only provided for backward compatibility. 6503 @param p_log: ignored. 6504 @return: always zero. 6505 ''' 6506 f = _Cfunctions.get('libvlc_log_count', None) or \ 6507 _Cfunction('libvlc_log_count', ((1,),), None, 6508 ctypes.c_uint, Log_ptr) 6509 return f(p_log)65106512 '''This function does nothing. 6513 It is only provided for backward compatibility. 6514 @param p_log: ignored. 6515 ''' 6516 f = _Cfunctions.get('libvlc_log_clear', None) or \ 6517 _Cfunction('libvlc_log_clear', ((1,),), None, 6518 None, Log_ptr) 6519 return f(p_log)65206522 '''This function does nothing useful. 6523 It is only provided for backward compatibility. 6524 @param p_log: ignored. 6525 @return: an unique pointer or None on error or if the parameter was None. 6526 ''' 6527 f = _Cfunctions.get('libvlc_log_get_iterator', None) or \ 6528 _Cfunction('libvlc_log_get_iterator', ((1,),), class_result(LogIterator), 6529 ctypes.c_void_p, Log_ptr) 6530 return f(p_log)65316533 '''Frees memory allocated by L{libvlc_log_get_iterator}(). 6534 @param p_iter: libvlc log iterator or None. 6535 ''' 6536 f = _Cfunctions.get('libvlc_log_iterator_free', None) or \ 6537 _Cfunction('libvlc_log_iterator_free', ((1,),), None, 6538 None, LogIterator) 6539 return f(p_iter)65406542 '''Always returns zero. 6543 This function is only provided for backward compatibility. 6544 @param p_iter: ignored. 6545 @return: always zero. 6546 ''' 6547 f = _Cfunctions.get('libvlc_log_iterator_has_next', None) or \ 6548 _Cfunction('libvlc_log_iterator_has_next', ((1,),), None, 6549 ctypes.c_int, LogIterator) 6550 return f(p_iter)65516553 '''Always returns None. 6554 This function is only provided for backward compatibility. 6555 @param p_iter: libvlc log iterator or None. 6556 @param p_buf: ignored. 6557 @return: always None. 6558 ''' 6559 f = _Cfunctions.get('libvlc_log_iterator_next', None) or \ 6560 _Cfunction('libvlc_log_iterator_next', ((1,), (1,),), None, 6561 ctypes.POINTER(LogMessage), LogIterator, ctypes.POINTER(LogMessage)) 6562 return f(p_iter, p_buf)65636565 '''Start playing (if there is any item in the playlist). 6566 Additionnal playlist item options can be specified for addition to the 6567 item before it is played. 6568 @param p_instance: the playlist instance. 6569 @param i_id: the item to play. If this is a negative number, the next item will be selected. Otherwise, the item with the given ID will be played. 6570 @param i_options: the number of options to add to the item. 6571 @param ppsz_options: the options to add to the item. 6572 ''' 6573 f = _Cfunctions.get('libvlc_playlist_play', None) or \ 6574 _Cfunction('libvlc_playlist_play', ((1,), (1,), (1,), (1,),), None, 6575 None, Instance, ctypes.c_int, ctypes.c_int, ListPOINTER(ctypes.c_char_p)) 6576 return f(p_instance, i_id, i_options, ppsz_options)65776579 '''Create an empty Media Player object. 6580 @param p_libvlc_instance: the libvlc instance in which the Media Player should be created. 6581 @return: a new media player object, or None on error. 6582 ''' 6583 f = _Cfunctions.get('libvlc_media_player_new', None) or \ 6584 _Cfunction('libvlc_media_player_new', ((1,),), class_result(MediaPlayer), 6585 ctypes.c_void_p, Instance) 6586 return f(p_libvlc_instance)65876589 '''Create a Media Player object from a Media. 6590 @param p_md: the media. Afterwards the p_md can be safely destroyed. 6591 @return: a new media player object, or None on error. 6592 ''' 6593 f = _Cfunctions.get('libvlc_media_player_new_from_media', None) or \ 6594 _Cfunction('libvlc_media_player_new_from_media', ((1,),), class_result(MediaPlayer), 6595 ctypes.c_void_p, Media) 6596 return f(p_md)65976599 '''Release a media_player after use 6600 Decrement the reference count of a media player object. If the 6601 reference count is 0, then L{libvlc_media_player_release}() will 6602 release the media player object. If the media player object 6603 has been released, then it should not be used again. 6604 @param p_mi: the Media Player to free. 6605 ''' 6606 f = _Cfunctions.get('libvlc_media_player_release', None) or \ 6607 _Cfunction('libvlc_media_player_release', ((1,),), None, 6608 None, MediaPlayer) 6609 return f(p_mi)66106612 '''Retain a reference to a media player object. Use 6613 L{libvlc_media_player_release}() to decrement reference count. 6614 @param p_mi: media player object. 6615 ''' 6616 f = _Cfunctions.get('libvlc_media_player_retain', None) or \ 6617 _Cfunction('libvlc_media_player_retain', ((1,),), None, 6618 None, MediaPlayer) 6619 return f(p_mi)66206622 '''Set the media that will be used by the media_player. If any, 6623 previous md will be released. 6624 @param p_mi: the Media Player. 6625 @param p_md: the Media. Afterwards the p_md can be safely destroyed. 6626 ''' 6627 f = _Cfunctions.get('libvlc_media_player_set_media', None) or \ 6628 _Cfunction('libvlc_media_player_set_media', ((1,), (1,),), None, 6629 None, MediaPlayer, Media) 6630 return f(p_mi, p_md)66316633 '''Get the media used by the media_player. 6634 @param p_mi: the Media Player. 6635 @return: the media associated with p_mi, or None if no media is associated. 6636 ''' 6637 f = _Cfunctions.get('libvlc_media_player_get_media', None) or \ 6638 _Cfunction('libvlc_media_player_get_media', ((1,),), class_result(Media), 6639 ctypes.c_void_p, MediaPlayer) 6640 return f(p_mi)66416643 '''Get the Event Manager from which the media player send event. 6644 @param p_mi: the Media Player. 6645 @return: the event manager associated with p_mi. 6646 ''' 6647 f = _Cfunctions.get('libvlc_media_player_event_manager', None) or \ 6648 _Cfunction('libvlc_media_player_event_manager', ((1,),), class_result(EventManager), 6649 ctypes.c_void_p, MediaPlayer) 6650 return f(p_mi)66516653 '''is_playing. 6654 @param p_mi: the Media Player. 6655 @return: 1 if the media player is playing, 0 otherwise \libvlc_return_bool. 6656 ''' 6657 f = _Cfunctions.get('libvlc_media_player_is_playing', None) or \ 6658 _Cfunction('libvlc_media_player_is_playing', ((1,),), None, 6659 ctypes.c_int, MediaPlayer) 6660 return f(p_mi)66616663 '''Play. 6664 @param p_mi: the Media Player. 6665 @return: 0 if playback started (and was already started), or -1 on error. 6666 ''' 6667 f = _Cfunctions.get('libvlc_media_player_play', None) or \ 6668 _Cfunction('libvlc_media_player_play', ((1,),), None, 6669 ctypes.c_int, MediaPlayer) 6670 return f(p_mi)66716673 '''Pause or resume (no effect if there is no media). 6674 @param mp: the Media Player. 6675 @param do_pause: play/resume if zero, pause if non-zero. 6676 @version: LibVLC 1.1.1 or later. 6677 ''' 6678 f = _Cfunctions.get('libvlc_media_player_set_pause', None) or \ 6679 _Cfunction('libvlc_media_player_set_pause', ((1,), (1,),), None, 6680 None, MediaPlayer, ctypes.c_int) 6681 return f(mp, do_pause)66826684 '''Toggle pause (no effect if there is no media). 6685 @param p_mi: the Media Player. 6686 ''' 6687 f = _Cfunctions.get('libvlc_media_player_pause', None) or \ 6688 _Cfunction('libvlc_media_player_pause', ((1,),), None, 6689 None, MediaPlayer) 6690 return f(p_mi)66916693 '''Stop (no effect if there is no media). 6694 @param p_mi: the Media Player. 6695 ''' 6696 f = _Cfunctions.get('libvlc_media_player_stop', None) or \ 6697 _Cfunction('libvlc_media_player_stop', ((1,),), None, 6698 None, MediaPlayer) 6699 return f(p_mi)67006702 '''Set a renderer to the media player 6703 @note: must be called before the first call of L{libvlc_media_player_play}() to 6704 take effect. 6705 See L{libvlc_renderer_discoverer_new}. 6706 @param p_mi: the Media Player. 6707 @param p_item: an item discovered by L{libvlc_renderer_discoverer_start}(). 6708 @return: 0 on success, -1 on error. 6709 @version: LibVLC 3.0.0 or later. 6710 ''' 6711 f = _Cfunctions.get('libvlc_media_player_set_renderer', None) or \ 6712 _Cfunction('libvlc_media_player_set_renderer', ((1,), (1,),), None, 6713 ctypes.c_int, MediaPlayer, Renderer) 6714 return f(p_mi, p_item)67156717 '''Set callbacks and private data to render decoded video to a custom area 6718 in memory. 6719 Use L{libvlc_video_set_format}() or L{libvlc_video_set_format_callbacks}() 6720 to configure the decoded format. 6721 @warning: Rendering video into custom memory buffers is considerably less 6722 efficient than rendering in a custom window as normal. 6723 For optimal perfomances, VLC media player renders into a custom window, and 6724 does not use this function and associated callbacks. It is B{highly 6725 recommended} that other LibVLC-based application do likewise. 6726 To embed video in a window, use libvlc_media_player_set_xid() or equivalent 6727 depending on the operating system. 6728 If window embedding does not fit the application use case, then a custom 6729 LibVLC video output display plugin is required to maintain optimal video 6730 rendering performances. 6731 The following limitations affect performance: 6732 - Hardware video decoding acceleration will either be disabled completely, 6733 or require (relatively slow) copy from video/DSP memory to main memory. 6734 - Sub-pictures (subtitles, on-screen display, etc.) must be blent into the 6735 main picture by the CPU instead of the GPU. 6736 - Depending on the video format, pixel format conversion, picture scaling, 6737 cropping and/or picture re-orientation, must be performed by the CPU 6738 instead of the GPU. 6739 - Memory copying is required between LibVLC reference picture buffers and 6740 application buffers (between lock and unlock callbacks). 6741 @param mp: the media player. 6742 @param lock: callback to lock video memory (must not be None). 6743 @param unlock: callback to unlock video memory (or None if not needed). 6744 @param display: callback to display video (or None if not needed). 6745 @param opaque: private pointer for the three callbacks (as first parameter). 6746 @version: LibVLC 1.1.1 or later. 6747 ''' 6748 f = _Cfunctions.get('libvlc_video_set_callbacks', None) or \ 6749 _Cfunction('libvlc_video_set_callbacks', ((1,), (1,), (1,), (1,), (1,),), None, 6750 None, MediaPlayer, VideoLockCb, VideoUnlockCb, VideoDisplayCb, ctypes.c_void_p) 6751 return f(mp, lock, unlock, display, opaque)67526754 '''Set decoded video chroma and dimensions. 6755 This only works in combination with L{libvlc_video_set_callbacks}(), 6756 and is mutually exclusive with L{libvlc_video_set_format_callbacks}(). 6757 @param mp: the media player. 6758 @param chroma: a four-characters string identifying the chroma (e.g. "RV32" or "YUYV"). 6759 @param width: pixel width. 6760 @param height: pixel height. 6761 @param pitch: line pitch (in bytes). 6762 @version: LibVLC 1.1.1 or later. 6763 @bug: All pixel planes are expected to have the same pitch. To use the YCbCr color space with chrominance subsampling, consider using L{libvlc_video_set_format_callbacks}() instead. 6764 ''' 6765 f = _Cfunctions.get('libvlc_video_set_format', None) or \ 6766 _Cfunction('libvlc_video_set_format', ((1,), (1,), (1,), (1,), (1,),), None, 6767 None, MediaPlayer, ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint, ctypes.c_uint) 6768 return f(mp, chroma, width, height, pitch)67696771 '''Set decoded video chroma and dimensions. This only works in combination with 6772 L{libvlc_video_set_callbacks}(). 6773 @param mp: the media player. 6774 @param setup: callback to select the video format (cannot be None). 6775 @param cleanup: callback to release any allocated resources (or None). 6776 @version: LibVLC 2.0.0 or later. 6777 ''' 6778 f = _Cfunctions.get('libvlc_video_set_format_callbacks', None) or \ 6779 _Cfunction('libvlc_video_set_format_callbacks', ((1,), (1,), (1,),), None, 6780 None, MediaPlayer, VideoFormatCb, VideoCleanupCb) 6781 return f(mp, setup, cleanup)67826784 '''Set the NSView handler where the media player should render its video output. 6785 Use the vout called "macosx". 6786 The drawable is an NSObject that follow the VLCOpenGLVideoViewEmbedding 6787 protocol: 6788 @code.m 6789 \@protocol VLCOpenGLVideoViewEmbedding <NSObject> 6790 - (void)addVoutSubview:(NSView *)view; 6791 - (void)removeVoutSubview:(NSView *)view; 6792 \@end 6793 @endcode 6794 Or it can be an NSView object. 6795 If you want to use it along with Qt see the QMacCocoaViewContainer. Then 6796 the following code should work: 6797 @code.mm 6798 6799 NSView *video = [[NSView alloc] init]; 6800 QMacCocoaViewContainer *container = new QMacCocoaViewContainer(video, parent); 6801 L{libvlc_media_player_set_nsobject}(mp, video); 6802 [video release]; 6803 6804 @endcode 6805 You can find a live example in VLCVideoView in VLCKit.framework. 6806 @param p_mi: the Media Player. 6807 @param drawable: the drawable that is either an NSView or an object following the VLCOpenGLVideoViewEmbedding protocol. 6808 ''' 6809 f = _Cfunctions.get('libvlc_media_player_set_nsobject', None) or \ 6810 _Cfunction('libvlc_media_player_set_nsobject', ((1,), (1,),), None, 6811 None, MediaPlayer, ctypes.c_void_p) 6812 return f(p_mi, drawable)68136815 '''Get the NSView handler previously set with L{libvlc_media_player_set_nsobject}(). 6816 @param p_mi: the Media Player. 6817 @return: the NSView handler or 0 if none where set. 6818 ''' 6819 f = _Cfunctions.get('libvlc_media_player_get_nsobject', None) or \ 6820 _Cfunction('libvlc_media_player_get_nsobject', ((1,),), None, 6821 ctypes.c_void_p, MediaPlayer) 6822 return f(p_mi)68236825 '''Set an X Window System drawable where the media player should render its 6826 video output. The call takes effect when the playback starts. If it is 6827 already started, it might need to be stopped before changes apply. 6828 If LibVLC was built without X11 output support, then this function has no 6829 effects. 6830 By default, LibVLC will capture input events on the video rendering area. 6831 Use L{libvlc_video_set_mouse_input}() and L{libvlc_video_set_key_input}() to 6832 disable that and deliver events to the parent window / to the application 6833 instead. By design, the X11 protocol delivers input events to only one 6834 recipient. 6835 @warning 6836 The application must call the XInitThreads() function from Xlib before 6837 L{libvlc_new}(), and before any call to XOpenDisplay() directly or via any 6838 other library. Failure to call XInitThreads() will seriously impede LibVLC 6839 performance. Calling XOpenDisplay() before XInitThreads() will eventually 6840 crash the process. That is a limitation of Xlib. 6841 @param p_mi: media player. 6842 @param drawable: X11 window ID @note The specified identifier must correspond to an existing Input/Output class X11 window. Pixmaps are B{not} currently supported. The default X11 server is assumed, i.e. that specified in the DISPLAY environment variable. @warning LibVLC can deal with invalid X11 handle errors, however some display drivers (EGL, GLX, VA and/or VDPAU) can unfortunately not. Thus the window handle must remain valid until playback is stopped, otherwise the process may abort or crash. 6843 @bug No more than one window handle per media player instance can be specified. If the media has multiple simultaneously active video tracks, extra tracks will be rendered into external windows beyond the control of the application. 6844 ''' 6845 f = _Cfunctions.get('libvlc_media_player_set_xwindow', None) or \ 6846 _Cfunction('libvlc_media_player_set_xwindow', ((1,), (1,),), None, 6847 None, MediaPlayer, ctypes.c_uint32) 6848 return f(p_mi, drawable)68496851 '''Get the X Window System window identifier previously set with 6852 L{libvlc_media_player_set_xwindow}(). Note that this will return the identifier 6853 even if VLC is not currently using it (for instance if it is playing an 6854 audio-only input). 6855 @param p_mi: the Media Player. 6856 @return: an X window ID, or 0 if none where set. 6857 ''' 6858 f = _Cfunctions.get('libvlc_media_player_get_xwindow', None) or \ 6859 _Cfunction('libvlc_media_player_get_xwindow', ((1,),), None, 6860 ctypes.c_uint32, MediaPlayer) 6861 return f(p_mi)68626864 '''Set a Win32/Win64 API window handle (HWND) where the media player should 6865 render its video output. If LibVLC was built without Win32/Win64 API output 6866 support, then this has no effects. 6867 @param p_mi: the Media Player. 6868 @param drawable: windows handle of the drawable. 6869 ''' 6870 f = _Cfunctions.get('libvlc_media_player_set_hwnd', None) or \ 6871 _Cfunction('libvlc_media_player_set_hwnd', ((1,), (1,),), None, 6872 None, MediaPlayer, ctypes.c_void_p) 6873 return f(p_mi, drawable)68746876 '''Get the Windows API window handle (HWND) previously set with 6877 L{libvlc_media_player_set_hwnd}(). The handle will be returned even if LibVLC 6878 is not currently outputting any video to it. 6879 @param p_mi: the Media Player. 6880 @return: a window handle or None if there are none. 6881 ''' 6882 f = _Cfunctions.get('libvlc_media_player_get_hwnd', None) or \ 6883 _Cfunction('libvlc_media_player_get_hwnd', ((1,),), None, 6884 ctypes.c_void_p, MediaPlayer) 6885 return f(p_mi)68866888 '''Set the android context. 6889 @param p_mi: the media player. 6890 @param p_awindow_handler: org.videolan.libvlc.AWindow jobject owned by the org.videolan.libvlc.MediaPlayer class from the libvlc-android project. 6891 @version: LibVLC 3.0.0 and later. 6892 ''' 6893 f = _Cfunctions.get('libvlc_media_player_set_android_context', None) or \ 6894 _Cfunction('libvlc_media_player_set_android_context', ((1,), (1,),), None, 6895 None, MediaPlayer, ctypes.c_void_p) 6896 return f(p_mi, p_awindow_handler)68976899 '''Set the EFL Evas Object. 6900 @param p_mi: the media player. 6901 @param p_evas_object: a valid EFL Evas Object (Evas_Object). 6902 @return: -1 if an error was detected, 0 otherwise. 6903 @version: LibVLC 3.0.0 and later. 6904 ''' 6905 f = _Cfunctions.get('libvlc_media_player_set_evas_object', None) or \ 6906 _Cfunction('libvlc_media_player_set_evas_object', ((1,), (1,),), None, 6907 ctypes.c_int, MediaPlayer, ctypes.c_void_p) 6908 return f(p_mi, p_evas_object)69096911 '''Sets callbacks and private data for decoded audio. 6912 Use L{libvlc_audio_set_format}() or L{libvlc_audio_set_format_callbacks}() 6913 to configure the decoded audio format. 6914 @note: The audio callbacks override any other audio output mechanism. 6915 If the callbacks are set, LibVLC will B{not} output audio in any way. 6916 @param mp: the media player. 6917 @param play: callback to play audio samples (must not be None). 6918 @param pause: callback to pause playback (or None to ignore). 6919 @param resume: callback to resume playback (or None to ignore). 6920 @param flush: callback to flush audio buffers (or None to ignore). 6921 @param drain: callback to drain audio buffers (or None to ignore). 6922 @param opaque: private pointer for the audio callbacks (as first parameter). 6923 @version: LibVLC 2.0.0 or later. 6924 ''' 6925 f = _Cfunctions.get('libvlc_audio_set_callbacks', None) or \ 6926 _Cfunction('libvlc_audio_set_callbacks', ((1,), (1,), (1,), (1,), (1,), (1,), (1,),), None, 6927 None, MediaPlayer, AudioPlayCb, AudioPauseCb, AudioResumeCb, AudioFlushCb, AudioDrainCb, ctypes.c_void_p) 6928 return f(mp, play, pause, resume, flush, drain, opaque)69296931 '''Set callbacks and private data for decoded audio. This only works in 6932 combination with L{libvlc_audio_set_callbacks}(). 6933 Use L{libvlc_audio_set_format}() or L{libvlc_audio_set_format_callbacks}() 6934 to configure the decoded audio format. 6935 @param mp: the media player. 6936 @param set_volume: callback to apply audio volume, or None to apply volume in software. 6937 @version: LibVLC 2.0.0 or later. 6938 ''' 6939 f = _Cfunctions.get('libvlc_audio_set_volume_callback', None) or \ 6940 _Cfunction('libvlc_audio_set_volume_callback', ((1,), (1,),), None, 6941 None, MediaPlayer, AudioSetVolumeCb) 6942 return f(mp, set_volume)69436945 '''Sets decoded audio format via callbacks. 6946 This only works in combination with L{libvlc_audio_set_callbacks}(). 6947 @param mp: the media player. 6948 @param setup: callback to select the audio format (cannot be None). 6949 @param cleanup: callback to release any allocated resources (or None). 6950 @version: LibVLC 2.0.0 or later. 6951 ''' 6952 f = _Cfunctions.get('libvlc_audio_set_format_callbacks', None) or \ 6953 _Cfunction('libvlc_audio_set_format_callbacks', ((1,), (1,), (1,),), None, 6954 None, MediaPlayer, AudioSetupCb, AudioCleanupCb) 6955 return f(mp, setup, cleanup)69566958 '''Sets a fixed decoded audio format. 6959 This only works in combination with L{libvlc_audio_set_callbacks}(), 6960 and is mutually exclusive with L{libvlc_audio_set_format_callbacks}(). 6961 @param mp: the media player. 6962 @param format: a four-characters string identifying the sample format (e.g. "S16N" or "f32l"). 6963 @param rate: sample rate (expressed in Hz). 6964 @param channels: channels count. 6965 @version: LibVLC 2.0.0 or later. 6966 ''' 6967 f = _Cfunctions.get('libvlc_audio_set_format', None) or \ 6968 _Cfunction('libvlc_audio_set_format', ((1,), (1,), (1,), (1,),), None, 6969 None, MediaPlayer, ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint) 6970 return f(mp, format, rate, channels)69716973 '''Get the current movie length (in ms). 6974 @param p_mi: the Media Player. 6975 @return: the movie length (in ms), or -1 if there is no media. 6976 ''' 6977 f = _Cfunctions.get('libvlc_media_player_get_length', None) or \ 6978 _Cfunction('libvlc_media_player_get_length', ((1,),), None, 6979 ctypes.c_longlong, MediaPlayer) 6980 return f(p_mi)69816983 '''Get the current movie time (in ms). 6984 @param p_mi: the Media Player. 6985 @return: the movie time (in ms), or -1 if there is no media. 6986 ''' 6987 f = _Cfunctions.get('libvlc_media_player_get_time', None) or \ 6988 _Cfunction('libvlc_media_player_get_time', ((1,),), None, 6989 ctypes.c_longlong, MediaPlayer) 6990 return f(p_mi)69916993 '''Set the movie time (in ms). This has no effect if no media is being played. 6994 Not all formats and protocols support this. 6995 @param p_mi: the Media Player. 6996 @param i_time: the movie time (in ms). 6997 ''' 6998 f = _Cfunctions.get('libvlc_media_player_set_time', None) or \ 6999 _Cfunction('libvlc_media_player_set_time', ((1,), (1,),), None, 7000 None, MediaPlayer, ctypes.c_longlong) 7001 return f(p_mi, i_time)70027004 '''Get movie position as percentage between 0.0 and 1.0. 7005 @param p_mi: the Media Player. 7006 @return: movie position, or -1. in case of error. 7007 ''' 7008 f = _Cfunctions.get('libvlc_media_player_get_position', None) or \ 7009 _Cfunction('libvlc_media_player_get_position', ((1,),), None, 7010 ctypes.c_float, MediaPlayer) 7011 return f(p_mi)70127014 '''Set movie position as percentage between 0.0 and 1.0. 7015 This has no effect if playback is not enabled. 7016 This might not work depending on the underlying input format and protocol. 7017 @param p_mi: the Media Player. 7018 @param f_pos: the position. 7019 ''' 7020 f = _Cfunctions.get('libvlc_media_player_set_position', None) or \ 7021 _Cfunction('libvlc_media_player_set_position', ((1,), (1,),), None, 7022 None, MediaPlayer, ctypes.c_float) 7023 return f(p_mi, f_pos)70247026 '''Set movie chapter (if applicable). 7027 @param p_mi: the Media Player. 7028 @param i_chapter: chapter number to play. 7029 ''' 7030 f = _Cfunctions.get('libvlc_media_player_set_chapter', None) or \ 7031 _Cfunction('libvlc_media_player_set_chapter', ((1,), (1,),), None, 7032 None, MediaPlayer, ctypes.c_int) 7033 return f(p_mi, i_chapter)70347036 '''Get movie chapter. 7037 @param p_mi: the Media Player. 7038 @return: chapter number currently playing, or -1 if there is no media. 7039 ''' 7040 f = _Cfunctions.get('libvlc_media_player_get_chapter', None) or \ 7041 _Cfunction('libvlc_media_player_get_chapter', ((1,),), None, 7042 ctypes.c_int, MediaPlayer) 7043 return f(p_mi)70447046 '''Get movie chapter count. 7047 @param p_mi: the Media Player. 7048 @return: number of chapters in movie, or -1. 7049 ''' 7050 f = _Cfunctions.get('libvlc_media_player_get_chapter_count', None) or \ 7051 _Cfunction('libvlc_media_player_get_chapter_count', ((1,),), None, 7052 ctypes.c_int, MediaPlayer) 7053 return f(p_mi)70547056 '''Is the player able to play. 7057 @param p_mi: the Media Player. 7058 @return: boolean \libvlc_return_bool. 7059 ''' 7060 f = _Cfunctions.get('libvlc_media_player_will_play', None) or \ 7061 _Cfunction('libvlc_media_player_will_play', ((1,),), None, 7062 ctypes.c_int, MediaPlayer) 7063 return f(p_mi)70647066 '''Get title chapter count. 7067 @param p_mi: the Media Player. 7068 @param i_title: title. 7069 @return: number of chapters in title, or -1. 7070 ''' 7071 f = _Cfunctions.get('libvlc_media_player_get_chapter_count_for_title', None) or \ 7072 _Cfunction('libvlc_media_player_get_chapter_count_for_title', ((1,), (1,),), None, 7073 ctypes.c_int, MediaPlayer, ctypes.c_int) 7074 return f(p_mi, i_title)70757077 '''Set movie title. 7078 @param p_mi: the Media Player. 7079 @param i_title: title number to play. 7080 ''' 7081 f = _Cfunctions.get('libvlc_media_player_set_title', None) or \ 7082 _Cfunction('libvlc_media_player_set_title', ((1,), (1,),), None, 7083 None, MediaPlayer, ctypes.c_int) 7084 return f(p_mi, i_title)70857087 '''Get movie title. 7088 @param p_mi: the Media Player. 7089 @return: title number currently playing, or -1. 7090 ''' 7091 f = _Cfunctions.get('libvlc_media_player_get_title', None) or \ 7092 _Cfunction('libvlc_media_player_get_title', ((1,),), None, 7093 ctypes.c_int, MediaPlayer) 7094 return f(p_mi)70957097 '''Get movie title count. 7098 @param p_mi: the Media Player. 7099 @return: title number count, or -1. 7100 ''' 7101 f = _Cfunctions.get('libvlc_media_player_get_title_count', None) or \ 7102 _Cfunction('libvlc_media_player_get_title_count', ((1,),), None, 7103 ctypes.c_int, MediaPlayer) 7104 return f(p_mi)71057107 '''Set previous chapter (if applicable). 7108 @param p_mi: the Media Player. 7109 ''' 7110 f = _Cfunctions.get('libvlc_media_player_previous_chapter', None) or \ 7111 _Cfunction('libvlc_media_player_previous_chapter', ((1,),), None, 7112 None, MediaPlayer) 7113 return f(p_mi)71147116 '''Set next chapter (if applicable). 7117 @param p_mi: the Media Player. 7118 ''' 7119 f = _Cfunctions.get('libvlc_media_player_next_chapter', None) or \ 7120 _Cfunction('libvlc_media_player_next_chapter', ((1,),), None, 7121 None, MediaPlayer) 7122 return f(p_mi)71237125 '''Get the requested movie play rate. 7126 @warning: Depending on the underlying media, the requested rate may be 7127 different from the real playback rate. 7128 @param p_mi: the Media Player. 7129 @return: movie play rate. 7130 ''' 7131 f = _Cfunctions.get('libvlc_media_player_get_rate', None) or \ 7132 _Cfunction('libvlc_media_player_get_rate', ((1,),), None, 7133 ctypes.c_float, MediaPlayer) 7134 return f(p_mi)71357137 '''Set movie play rate. 7138 @param p_mi: the Media Player. 7139 @param rate: movie play rate to set. 7140 @return: -1 if an error was detected, 0 otherwise (but even then, it might not actually work depending on the underlying media protocol). 7141 ''' 7142 f = _Cfunctions.get('libvlc_media_player_set_rate', None) or \ 7143 _Cfunction('libvlc_media_player_set_rate', ((1,), (1,),), None, 7144 ctypes.c_int, MediaPlayer, ctypes.c_float) 7145 return f(p_mi, rate)71467148 '''Get current movie state. 7149 @param p_mi: the Media Player. 7150 @return: the current state of the media player (playing, paused, ...) See L{State}. 7151 ''' 7152 f = _Cfunctions.get('libvlc_media_player_get_state', None) or \ 7153 _Cfunction('libvlc_media_player_get_state', ((1,),), None, 7154 State, MediaPlayer) 7155 return f(p_mi)71567158 '''How many video outputs does this media player have? 7159 @param p_mi: the media player. 7160 @return: the number of video outputs. 7161 ''' 7162 f = _Cfunctions.get('libvlc_media_player_has_vout', None) or \ 7163 _Cfunction('libvlc_media_player_has_vout', ((1,),), None, 7164 ctypes.c_uint, MediaPlayer) 7165 return f(p_mi)71667168 '''Is this media player seekable? 7169 @param p_mi: the media player. 7170 @return: true if the media player can seek \libvlc_return_bool. 7171 ''' 7172 f = _Cfunctions.get('libvlc_media_player_is_seekable', None) or \ 7173 _Cfunction('libvlc_media_player_is_seekable', ((1,),), None, 7174 ctypes.c_int, MediaPlayer) 7175 return f(p_mi)71767178 '''Can this media player be paused? 7179 @param p_mi: the media player. 7180 @return: true if the media player can pause \libvlc_return_bool. 7181 ''' 7182 f = _Cfunctions.get('libvlc_media_player_can_pause', None) or \ 7183 _Cfunction('libvlc_media_player_can_pause', ((1,),), None, 7184 ctypes.c_int, MediaPlayer) 7185 return f(p_mi)71867188 '''Check if the current program is scrambled. 7189 @param p_mi: the media player. 7190 @return: true if the current program is scrambled \libvlc_return_bool. 7191 @version: LibVLC 2.2.0 or later. 7192 ''' 7193 f = _Cfunctions.get('libvlc_media_player_program_scrambled', None) or \ 7194 _Cfunction('libvlc_media_player_program_scrambled', ((1,),), None, 7195 ctypes.c_int, MediaPlayer) 7196 return f(p_mi)71977199 '''Display the next frame (if supported). 7200 @param p_mi: the media player. 7201 ''' 7202 f = _Cfunctions.get('libvlc_media_player_next_frame', None) or \ 7203 _Cfunction('libvlc_media_player_next_frame', ((1,),), None, 7204 None, MediaPlayer) 7205 return f(p_mi)7206 72177219 '''Set if, and how, the video title will be shown when media is played. 7220 @param p_mi: the media player. 7221 @param position: position at which to display the title, or libvlc_position_disable to prevent the title from being displayed. 7222 @param timeout: title display timeout in milliseconds (ignored if libvlc_position_disable). 7223 @version: libVLC 2.1.0 or later. 7224 ''' 7225 f = _Cfunctions.get('libvlc_media_player_set_video_title_display', None) or \ 7226 _Cfunction('libvlc_media_player_set_video_title_display', ((1,), (1,), (1,),), None, 7227 None, MediaPlayer, Position, ctypes.c_uint) 7228 return f(p_mi, position, timeout)72297231 '''Add a slave to the current media player. 7232 @note: If the player is playing, the slave will be added directly. This call 7233 will also update the slave list of the attached L{Media}. 7234 @param p_mi: the media player. 7235 @param i_type: subtitle or audio. 7236 @param psz_uri: Uri of the slave (should contain a valid scheme). 7237 @param b_select: True if this slave should be selected when it's loaded. 7238 @return: 0 on success, -1 on error. 7239 @version: LibVLC 3.0.0 and later. See L{libvlc_media_slaves_add}. 7240 ''' 7241 f = _Cfunctions.get('libvlc_media_player_add_slave', None) or \ 7242 _Cfunction('libvlc_media_player_add_slave', ((1,), (1,), (1,), (1,),), None, 7243 ctypes.c_int, MediaPlayer, MediaSlaveType, ctypes.c_char_p, ctypes.c_bool) 7244 return f(p_mi, i_type, psz_uri, b_select)72457247 '''Release (free) L{TrackDescription}. 7248 @param p_track_description: the structure to release. 7249 ''' 7250 f = _Cfunctions.get('libvlc_track_description_list_release', None) or \ 7251 _Cfunction('libvlc_track_description_list_release', ((1,),), None, 7252 None, ctypes.POINTER(TrackDescription)) 7253 return f(p_track_description)72547256 '''Toggle fullscreen status on non-embedded video outputs. 7257 @warning: The same limitations applies to this function 7258 as to L{libvlc_set_fullscreen}(). 7259 @param p_mi: the media player. 7260 ''' 7261 f = _Cfunctions.get('libvlc_toggle_fullscreen', None) or \ 7262 _Cfunction('libvlc_toggle_fullscreen', ((1,),), None, 7263 None, MediaPlayer) 7264 return f(p_mi)72657267 '''Enable or disable fullscreen. 7268 @warning: With most window managers, only a top-level windows can be in 7269 full-screen mode. Hence, this function will not operate properly if 7270 L{libvlc_media_player_set_xwindow}() was used to embed the video in a 7271 non-top-level window. In that case, the embedding window must be reparented 7272 to the root window B{before} fullscreen mode is enabled. You will want 7273 to reparent it back to its normal parent when disabling fullscreen. 7274 @param p_mi: the media player. 7275 @param b_fullscreen: boolean for fullscreen status. 7276 ''' 7277 f = _Cfunctions.get('libvlc_set_fullscreen', None) or \ 7278 _Cfunction('libvlc_set_fullscreen', ((1,), (1,),), None, 7279 None, MediaPlayer, ctypes.c_int) 7280 return f(p_mi, b_fullscreen)72817283 '''Get current fullscreen status. 7284 @param p_mi: the media player. 7285 @return: the fullscreen status (boolean) \libvlc_return_bool. 7286 ''' 7287 f = _Cfunctions.get('libvlc_get_fullscreen', None) or \ 7288 _Cfunction('libvlc_get_fullscreen', ((1,),), None, 7289 ctypes.c_int, MediaPlayer) 7290 return f(p_mi)72917293 '''Enable or disable key press events handling, according to the LibVLC hotkeys 7294 configuration. By default and for historical reasons, keyboard events are 7295 handled by the LibVLC video widget. 7296 @note: On X11, there can be only one subscriber for key press and mouse 7297 click events per window. If your application has subscribed to those events 7298 for the X window ID of the video widget, then LibVLC will not be able to 7299 handle key presses and mouse clicks in any case. 7300 @warning: This function is only implemented for X11 and Win32 at the moment. 7301 @param p_mi: the media player. 7302 @param on: true to handle key press events, false to ignore them. 7303 ''' 7304 f = _Cfunctions.get('libvlc_video_set_key_input', None) or \ 7305 _Cfunction('libvlc_video_set_key_input', ((1,), (1,),), None, 7306 None, MediaPlayer, ctypes.c_uint) 7307 return f(p_mi, on)73087310 '''Enable or disable mouse click events handling. By default, those events are 7311 handled. This is needed for DVD menus to work, as well as a few video 7312 filters such as "puzzle". 7313 See L{libvlc_video_set_key_input}(). 7314 @warning: This function is only implemented for X11 and Win32 at the moment. 7315 @param p_mi: the media player. 7316 @param on: true to handle mouse click events, false to ignore them. 7317 ''' 7318 f = _Cfunctions.get('libvlc_video_set_mouse_input', None) or \ 7319 _Cfunction('libvlc_video_set_mouse_input', ((1,), (1,),), None, 7320 None, MediaPlayer, ctypes.c_uint) 7321 return f(p_mi, on)73227324 '''Get the pixel dimensions of a video. 7325 @param p_mi: media player. 7326 @param num: number of the video (starting from, and most commonly 0). 7327 @return: px pixel width, py pixel height. 7328 ''' 7329 f = _Cfunctions.get('libvlc_video_get_size', None) or \ 7330 _Cfunction('libvlc_video_get_size', ((1,), (1,), (2,), (2,),), None, 7331 ctypes.c_int, MediaPlayer, ctypes.c_uint, ctypes.POINTER(ctypes.c_uint), ctypes.POINTER(ctypes.c_uint)) 7332 return f(p_mi, num)73337335 '''Get the mouse pointer coordinates over a video. 7336 Coordinates are expressed in terms of the decoded video resolution, 7337 B{not} in terms of pixels on the screen/viewport (to get the latter, 7338 you can query your windowing system directly). 7339 Either of the coordinates may be negative or larger than the corresponding 7340 dimension of the video, if the cursor is outside the rendering area. 7341 @warning: The coordinates may be out-of-date if the pointer is not located 7342 on the video rendering area. LibVLC does not track the pointer if it is 7343 outside of the video widget. 7344 @note: LibVLC does not support multiple pointers (it does of course support 7345 multiple input devices sharing the same pointer) at the moment. 7346 @param p_mi: media player. 7347 @param num: number of the video (starting from, and most commonly 0). 7348 @return: px abscissa, py ordinate. 7349 ''' 7350 f = _Cfunctions.get('libvlc_video_get_cursor', None) or \ 7351 _Cfunction('libvlc_video_get_cursor', ((1,), (1,), (2,), (2,),), None, 7352 ctypes.c_int, MediaPlayer, ctypes.c_uint, ctypes.POINTER(ctypes.c_int), ctypes.POINTER(ctypes.c_int)) 7353 return f(p_mi, num)73547356 '''Get the current video scaling factor. 7357 See also L{libvlc_video_set_scale}(). 7358 @param p_mi: the media player. 7359 @return: the currently configured zoom factor, or 0. if the video is set to fit to the output window/drawable automatically. 7360 ''' 7361 f = _Cfunctions.get('libvlc_video_get_scale', None) or \ 7362 _Cfunction('libvlc_video_get_scale', ((1,),), None, 7363 ctypes.c_float, MediaPlayer) 7364 return f(p_mi)73657367 '''Set the video scaling factor. That is the ratio of the number of pixels on 7368 screen to the number of pixels in the original decoded video in each 7369 dimension. Zero is a special value; it will adjust the video to the output 7370 window/drawable (in windowed mode) or the entire screen. 7371 Note that not all video outputs support scaling. 7372 @param p_mi: the media player. 7373 @param f_factor: the scaling factor, or zero. 7374 ''' 7375 f = _Cfunctions.get('libvlc_video_set_scale', None) or \ 7376 _Cfunction('libvlc_video_set_scale', ((1,), (1,),), None, 7377 None, MediaPlayer, ctypes.c_float) 7378 return f(p_mi, f_factor)73797381 '''Get current video aspect ratio. 7382 @param p_mi: the media player. 7383 @return: the video aspect ratio or None if unspecified (the result must be released with free() or L{libvlc_free}()). 7384 ''' 7385 f = _Cfunctions.get('libvlc_video_get_aspect_ratio', None) or \ 7386 _Cfunction('libvlc_video_get_aspect_ratio', ((1,),), string_result, 7387 ctypes.c_void_p, MediaPlayer) 7388 return f(p_mi)73897391 '''Set new video aspect ratio. 7392 @param p_mi: the media player. 7393 @param psz_aspect: new video aspect-ratio or None to reset to default @note Invalid aspect ratios are ignored. 7394 ''' 7395 f = _Cfunctions.get('libvlc_video_set_aspect_ratio', None) or \ 7396 _Cfunction('libvlc_video_set_aspect_ratio', ((1,), (1,),), None, 7397 None, MediaPlayer, ctypes.c_char_p) 7398 return f(p_mi, psz_aspect)73997401 '''Create a video viewpoint structure. 7402 @return: video viewpoint or None (the result must be released with free() or L{libvlc_free}()). 7403 @version: LibVLC 3.0.0 and later. 7404 ''' 7405 f = _Cfunctions.get('libvlc_video_new_viewpoint', None) or \ 7406 _Cfunction('libvlc_video_new_viewpoint', (), None, 7407 ctypes.POINTER(VideoViewpoint)) 7408 return f()74097411 '''Update the video viewpoint information. 7412 @note: It is safe to call this function before the media player is started. 7413 @param p_mi: the media player. 7414 @param p_viewpoint: video viewpoint allocated via L{libvlc_video_new_viewpoint}(). 7415 @param b_absolute: if true replace the old viewpoint with the new one. If false, increase/decrease it. 7416 @return: -1 in case of error, 0 otherwise @note the values are set asynchronously, it will be used by the next frame displayed. 7417 @version: LibVLC 3.0.0 and later. 7418 ''' 7419 f = _Cfunctions.get('libvlc_video_update_viewpoint', None) or \ 7420 _Cfunction('libvlc_video_update_viewpoint', ((1,), (1,), (1,),), None, 7421 ctypes.c_int, MediaPlayer, ctypes.POINTER(VideoViewpoint), ctypes.c_bool) 7422 return f(p_mi, p_viewpoint, b_absolute)74237425 '''Get current video subtitle. 7426 @param p_mi: the media player. 7427 @return: the video subtitle selected, or -1 if none. 7428 ''' 7429 f = _Cfunctions.get('libvlc_video_get_spu', None) or \ 7430 _Cfunction('libvlc_video_get_spu', ((1,),), None, 7431 ctypes.c_int, MediaPlayer) 7432 return f(p_mi)74337435 '''Get the number of available video subtitles. 7436 @param p_mi: the media player. 7437 @return: the number of available video subtitles. 7438 ''' 7439 f = _Cfunctions.get('libvlc_video_get_spu_count', None) or \ 7440 _Cfunction('libvlc_video_get_spu_count', ((1,),), None, 7441 ctypes.c_int, MediaPlayer) 7442 return f(p_mi)74437445 '''Get the description of available video subtitles. 7446 @param p_mi: the media player. 7447 @return: list containing description of available video subtitles. It must be freed with L{libvlc_track_description_list_release}(). 7448 ''' 7449 f = _Cfunctions.get('libvlc_video_get_spu_description', None) or \ 7450 _Cfunction('libvlc_video_get_spu_description', ((1,),), None, 7451 ctypes.POINTER(TrackDescription), MediaPlayer) 7452 return f(p_mi)74537455 '''Set new video subtitle. 7456 @param p_mi: the media player. 7457 @param i_spu: video subtitle track to select (i_id from track description). 7458 @return: 0 on success, -1 if out of range. 7459 ''' 7460 f = _Cfunctions.get('libvlc_video_set_spu', None) or \ 7461 _Cfunction('libvlc_video_set_spu', ((1,), (1,),), None, 7462 ctypes.c_int, MediaPlayer, ctypes.c_int) 7463 return f(p_mi, i_spu)74647466 '''Get the current subtitle delay. Positive values means subtitles are being 7467 displayed later, negative values earlier. 7468 @param p_mi: media player. 7469 @return: time (in microseconds) the display of subtitles is being delayed. 7470 @version: LibVLC 2.0.0 or later. 7471 ''' 7472 f = _Cfunctions.get('libvlc_video_get_spu_delay', None) or \ 7473 _Cfunction('libvlc_video_get_spu_delay', ((1,),), None, 7474 ctypes.c_int64, MediaPlayer) 7475 return f(p_mi)74767478 '''Set the subtitle delay. This affects the timing of when the subtitle will 7479 be displayed. Positive values result in subtitles being displayed later, 7480 while negative values will result in subtitles being displayed earlier. 7481 The subtitle delay will be reset to zero each time the media changes. 7482 @param p_mi: media player. 7483 @param i_delay: time (in microseconds) the display of subtitles should be delayed. 7484 @return: 0 on success, -1 on error. 7485 @version: LibVLC 2.0.0 or later. 7486 ''' 7487 f = _Cfunctions.get('libvlc_video_set_spu_delay', None) or \ 7488 _Cfunction('libvlc_video_set_spu_delay', ((1,), (1,),), None, 7489 ctypes.c_int, MediaPlayer, ctypes.c_int64) 7490 return f(p_mi, i_delay)74917493 '''Get the full description of available titles. 7494 @param p_mi: the media player. 7495 @param titles: address to store an allocated array of title descriptions descriptions (must be freed with L{libvlc_title_descriptions_release}() by the caller) [OUT]. 7496 @return: the number of titles (-1 on error). 7497 @version: LibVLC 3.0.0 and later. 7498 ''' 7499 f = _Cfunctions.get('libvlc_media_player_get_full_title_descriptions', None) or \ 7500 _Cfunction('libvlc_media_player_get_full_title_descriptions', ((1,), (1,),), None, 7501 ctypes.c_int, MediaPlayer, ctypes.POINTER(ctypes.POINTER(TitleDescription))) 7502 return f(p_mi, titles)75037505 '''Release a title description. 7506 @param p_titles: title description array to release. 7507 @param i_count: number of title descriptions to release. 7508 @version: LibVLC 3.0.0 and later. 7509 ''' 7510 f = _Cfunctions.get('libvlc_title_descriptions_release', None) or \ 7511 _Cfunction('libvlc_title_descriptions_release', ((1,), (1,),), None, 7512 None, ctypes.POINTER(TitleDescription), ctypes.c_uint) 7513 return f(p_titles, i_count)75147515 -def libvlc_media_player_get_full_chapter_descriptions(p_mi, i_chapters_of_title, pp_chapters):7516 '''Get the full description of available chapters. 7517 @param p_mi: the media player. 7518 @param i_chapters_of_title: index of the title to query for chapters (uses current title if set to -1). 7519 @param pp_chapters: address to store an allocated array of chapter descriptions descriptions (must be freed with L{libvlc_chapter_descriptions_release}() by the caller) [OUT]. 7520 @return: the number of chapters (-1 on error). 7521 @version: LibVLC 3.0.0 and later. 7522 ''' 7523 f = _Cfunctions.get('libvlc_media_player_get_full_chapter_descriptions', None) or \ 7524 _Cfunction('libvlc_media_player_get_full_chapter_descriptions', ((1,), (1,), (1,),), None, 7525 ctypes.c_int, MediaPlayer, ctypes.c_int, ctypes.POINTER(ctypes.POINTER(ChapterDescription))) 7526 return f(p_mi, i_chapters_of_title, pp_chapters)75277529 '''Release a chapter description. 7530 @param p_chapters: chapter description array to release. 7531 @param i_count: number of chapter descriptions to release. 7532 @version: LibVLC 3.0.0 and later. 7533 ''' 7534 f = _Cfunctions.get('libvlc_chapter_descriptions_release', None) or \ 7535 _Cfunction('libvlc_chapter_descriptions_release', ((1,), (1,),), None, 7536 None, ctypes.POINTER(ChapterDescription), ctypes.c_uint) 7537 return f(p_chapters, i_count)75387540 '''Get current crop filter geometry. 7541 @param p_mi: the media player. 7542 @return: the crop filter geometry or None if unset. 7543 ''' 7544 f = _Cfunctions.get('libvlc_video_get_crop_geometry', None) or \ 7545 _Cfunction('libvlc_video_get_crop_geometry', ((1,),), string_result, 7546 ctypes.c_void_p, MediaPlayer) 7547 return f(p_mi)75487550 '''Set new crop filter geometry. 7551 @param p_mi: the media player. 7552 @param psz_geometry: new crop filter geometry (None to unset). 7553 ''' 7554 f = _Cfunctions.get('libvlc_video_set_crop_geometry', None) or \ 7555 _Cfunction('libvlc_video_set_crop_geometry', ((1,), (1,),), None, 7556 None, MediaPlayer, ctypes.c_char_p) 7557 return f(p_mi, psz_geometry)75587560 '''Get current teletext page requested or 0 if it's disabled. 7561 Teletext is disabled by default, call L{libvlc_video_set_teletext}() to enable 7562 it. 7563 @param p_mi: the media player. 7564 @return: the current teletext page requested. 7565 ''' 7566 f = _Cfunctions.get('libvlc_video_get_teletext', None) or \ 7567 _Cfunction('libvlc_video_get_teletext', ((1,),), None, 7568 ctypes.c_int, MediaPlayer) 7569 return f(p_mi)75707572 '''Set new teletext page to retrieve. 7573 This function can also be used to send a teletext key. 7574 @param p_mi: the media player. 7575 @param i_page: teletex page number requested. This value can be 0 to disable teletext, a number in the range ]0;1000[ to show the requested page, or a \ref L{TeletextKey}. 100 is the default teletext page. 7576 ''' 7577 f = _Cfunctions.get('libvlc_video_set_teletext', None) or \ 7578 _Cfunction('libvlc_video_set_teletext', ((1,), (1,),), None, 7579 None, MediaPlayer, ctypes.c_int) 7580 return f(p_mi, i_page)75817583 '''Get number of available video tracks. 7584 @param p_mi: media player. 7585 @return: the number of available video tracks (int). 7586 ''' 7587 f = _Cfunctions.get('libvlc_video_get_track_count', None) or \ 7588 _Cfunction('libvlc_video_get_track_count', ((1,),), None, 7589 ctypes.c_int, MediaPlayer) 7590 return f(p_mi)75917593 '''Get the description of available video tracks. 7594 @param p_mi: media player. 7595 @return: list with description of available video tracks, or None on error. It must be freed with L{libvlc_track_description_list_release}(). 7596 ''' 7597 f = _Cfunctions.get('libvlc_video_get_track_description', None) or \ 7598 _Cfunction('libvlc_video_get_track_description', ((1,),), None, 7599 ctypes.POINTER(TrackDescription), MediaPlayer) 7600 return f(p_mi)76017603 '''Get current video track. 7604 @param p_mi: media player. 7605 @return: the video track ID (int) or -1 if no active input. 7606 ''' 7607 f = _Cfunctions.get('libvlc_video_get_track', None) or \ 7608 _Cfunction('libvlc_video_get_track', ((1,),), None, 7609 ctypes.c_int, MediaPlayer) 7610 return f(p_mi)76117613 '''Set video track. 7614 @param p_mi: media player. 7615 @param i_track: the track ID (i_id field from track description). 7616 @return: 0 on success, -1 if out of range. 7617 ''' 7618 f = _Cfunctions.get('libvlc_video_set_track', None) or \ 7619 _Cfunction('libvlc_video_set_track', ((1,), (1,),), None, 7620 ctypes.c_int, MediaPlayer, ctypes.c_int) 7621 return f(p_mi, i_track)76227624 '''Take a snapshot of the current video window. 7625 If i_width AND i_height is 0, original size is used. 7626 If i_width XOR i_height is 0, original aspect-ratio is preserved. 7627 @param p_mi: media player instance. 7628 @param num: number of video output (typically 0 for the first/only one). 7629 @param psz_filepath: the path of a file or a folder to save the screenshot into. 7630 @param i_width: the snapshot's width. 7631 @param i_height: the snapshot's height. 7632 @return: 0 on success, -1 if the video was not found. 7633 ''' 7634 f = _Cfunctions.get('libvlc_video_take_snapshot', None) or \ 7635 _Cfunction('libvlc_video_take_snapshot', ((1,), (1,), (1,), (1,), (1,),), None, 7636 ctypes.c_int, MediaPlayer, ctypes.c_uint, ctypes.c_char_p, ctypes.c_uint, ctypes.c_uint) 7637 return f(p_mi, num, psz_filepath, i_width, i_height)76387640 '''Enable or disable deinterlace filter. 7641 @param p_mi: libvlc media player. 7642 @param psz_mode: type of deinterlace filter, None to disable. 7643 ''' 7644 f = _Cfunctions.get('libvlc_video_set_deinterlace', None) or \ 7645 _Cfunction('libvlc_video_set_deinterlace', ((1,), (1,),), None, 7646 None, MediaPlayer, ctypes.c_char_p) 7647 return f(p_mi, psz_mode)76487650 '''Get an integer marquee option value. 7651 @param p_mi: libvlc media player. 7652 @param option: marq option to get See libvlc_video_marquee_int_option_t. 7653 ''' 7654 f = _Cfunctions.get('libvlc_video_get_marquee_int', None) or \ 7655 _Cfunction('libvlc_video_get_marquee_int', ((1,), (1,),), None, 7656 ctypes.c_int, MediaPlayer, ctypes.c_uint) 7657 return f(p_mi, option)76587660 '''Get a string marquee option value. 7661 @param p_mi: libvlc media player. 7662 @param option: marq option to get See libvlc_video_marquee_string_option_t. 7663 ''' 7664 f = _Cfunctions.get('libvlc_video_get_marquee_string', None) or \ 7665 _Cfunction('libvlc_video_get_marquee_string', ((1,), (1,),), string_result, 7666 ctypes.c_void_p, MediaPlayer, ctypes.c_uint) 7667 return f(p_mi, option)76687670 '''Enable, disable or set an integer marquee option 7671 Setting libvlc_marquee_Enable has the side effect of enabling (arg !0) 7672 or disabling (arg 0) the marq filter. 7673 @param p_mi: libvlc media player. 7674 @param option: marq option to set See libvlc_video_marquee_int_option_t. 7675 @param i_val: marq option value. 7676 ''' 7677 f = _Cfunctions.get('libvlc_video_set_marquee_int', None) or \ 7678 _Cfunction('libvlc_video_set_marquee_int', ((1,), (1,), (1,),), None, 7679 None, MediaPlayer, ctypes.c_uint, ctypes.c_int) 7680 return f(p_mi, option, i_val)76817683 '''Set a marquee string option. 7684 @param p_mi: libvlc media player. 7685 @param option: marq option to set See libvlc_video_marquee_string_option_t. 7686 @param psz_text: marq option value. 7687 ''' 7688 f = _Cfunctions.get('libvlc_video_set_marquee_string', None) or \ 7689 _Cfunction('libvlc_video_set_marquee_string', ((1,), (1,), (1,),), None, 7690 None, MediaPlayer, ctypes.c_uint, ctypes.c_char_p) 7691 return f(p_mi, option, psz_text)76927694 '''Get integer logo option. 7695 @param p_mi: libvlc media player instance. 7696 @param option: logo option to get, values of L{VideoLogoOption}. 7697 ''' 7698 f = _Cfunctions.get('libvlc_video_get_logo_int', None) or \ 7699 _Cfunction('libvlc_video_get_logo_int', ((1,), (1,),), None, 7700 ctypes.c_int, MediaPlayer, ctypes.c_uint) 7701 return f(p_mi, option)77027704 '''Set logo option as integer. Options that take a different type value 7705 are ignored. 7706 Passing libvlc_logo_enable as option value has the side effect of 7707 starting (arg !0) or stopping (arg 0) the logo filter. 7708 @param p_mi: libvlc media player instance. 7709 @param option: logo option to set, values of L{VideoLogoOption}. 7710 @param value: logo option value. 7711 ''' 7712 f = _Cfunctions.get('libvlc_video_set_logo_int', None) or \ 7713 _Cfunction('libvlc_video_set_logo_int', ((1,), (1,), (1,),), None, 7714 None, MediaPlayer, ctypes.c_uint, ctypes.c_int) 7715 return f(p_mi, option, value)77167718 '''Set logo option as string. Options that take a different type value 7719 are ignored. 7720 @param p_mi: libvlc media player instance. 7721 @param option: logo option to set, values of L{VideoLogoOption}. 7722 @param psz_value: logo option value. 7723 ''' 7724 f = _Cfunctions.get('libvlc_video_set_logo_string', None) or \ 7725 _Cfunction('libvlc_video_set_logo_string', ((1,), (1,), (1,),), None, 7726 None, MediaPlayer, ctypes.c_uint, ctypes.c_char_p) 7727 return f(p_mi, option, psz_value)77287730 '''Get integer adjust option. 7731 @param p_mi: libvlc media player instance. 7732 @param option: adjust option to get, values of L{VideoAdjustOption}. 7733 @version: LibVLC 1.1.1 and later. 7734 ''' 7735 f = _Cfunctions.get('libvlc_video_get_adjust_int', None) or \ 7736 _Cfunction('libvlc_video_get_adjust_int', ((1,), (1,),), None, 7737 ctypes.c_int, MediaPlayer, ctypes.c_uint) 7738 return f(p_mi, option)77397741 '''Set adjust option as integer. Options that take a different type value 7742 are ignored. 7743 Passing libvlc_adjust_enable as option value has the side effect of 7744 starting (arg !0) or stopping (arg 0) the adjust filter. 7745 @param p_mi: libvlc media player instance. 7746 @param option: adust option to set, values of L{VideoAdjustOption}. 7747 @param value: adjust option value. 7748 @version: LibVLC 1.1.1 and later. 7749 ''' 7750 f = _Cfunctions.get('libvlc_video_set_adjust_int', None) or \ 7751 _Cfunction('libvlc_video_set_adjust_int', ((1,), (1,), (1,),), None, 7752 None, MediaPlayer, ctypes.c_uint, ctypes.c_int) 7753 return f(p_mi, option, value)77547756 '''Get float adjust option. 7757 @param p_mi: libvlc media player instance. 7758 @param option: adjust option to get, values of L{VideoAdjustOption}. 7759 @version: LibVLC 1.1.1 and later. 7760 ''' 7761 f = _Cfunctions.get('libvlc_video_get_adjust_float', None) or \ 7762 _Cfunction('libvlc_video_get_adjust_float', ((1,), (1,),), None, 7763 ctypes.c_float, MediaPlayer, ctypes.c_uint) 7764 return f(p_mi, option)77657767 '''Set adjust option as float. Options that take a different type value 7768 are ignored. 7769 @param p_mi: libvlc media player instance. 7770 @param option: adust option to set, values of L{VideoAdjustOption}. 7771 @param value: adjust option value. 7772 @version: LibVLC 1.1.1 and later. 7773 ''' 7774 f = _Cfunctions.get('libvlc_video_set_adjust_float', None) or \ 7775 _Cfunction('libvlc_video_set_adjust_float', ((1,), (1,), (1,),), None, 7776 None, MediaPlayer, ctypes.c_uint, ctypes.c_float) 7777 return f(p_mi, option, value)77787780 '''Gets the list of available audio output modules. 7781 @param p_instance: libvlc instance. 7782 @return: list of available audio outputs. It must be freed with In case of error, None is returned. 7783 ''' 7784 f = _Cfunctions.get('libvlc_audio_output_list_get', None) or \ 7785 _Cfunction('libvlc_audio_output_list_get', ((1,),), None, 7786 ctypes.POINTER(AudioOutput), Instance) 7787 return f(p_instance)77887790 '''Frees the list of available audio output modules. 7791 @param p_list: list with audio outputs for release. 7792 ''' 7793 f = _Cfunctions.get('libvlc_audio_output_list_release', None) or \ 7794 _Cfunction('libvlc_audio_output_list_release', ((1,),), None, 7795 None, ctypes.POINTER(AudioOutput)) 7796 return f(p_list)77977799 '''Selects an audio output module. 7800 @note: Any change will take be effect only after playback is stopped and 7801 restarted. Audio output cannot be changed while playing. 7802 @param p_mi: media player. 7803 @param psz_name: name of audio output, use psz_name of See L{AudioOutput}. 7804 @return: 0 if function succeeded, -1 on error. 7805 ''' 7806 f = _Cfunctions.get('libvlc_audio_output_set', None) or \ 7807 _Cfunction('libvlc_audio_output_set', ((1,), (1,),), None, 7808 ctypes.c_int, MediaPlayer, ctypes.c_char_p) 7809 return f(p_mi, psz_name)78107812 '''Gets a list of potential audio output devices, 7813 See L{libvlc_audio_output_device_set}(). 7814 @note: Not all audio outputs support enumerating devices. 7815 The audio output may be functional even if the list is empty (None). 7816 @note: The list may not be exhaustive. 7817 @warning: Some audio output devices in the list might not actually work in 7818 some circumstances. By default, it is recommended to not specify any 7819 explicit audio device. 7820 @param mp: media player. 7821 @return: A None-terminated linked list of potential audio output devices. It must be freed with L{libvlc_audio_output_device_list_release}(). 7822 @version: LibVLC 2.2.0 or later. 7823 ''' 7824 f = _Cfunctions.get('libvlc_audio_output_device_enum', None) or \ 7825 _Cfunction('libvlc_audio_output_device_enum', ((1,),), None, 7826 ctypes.POINTER(AudioOutputDevice), MediaPlayer) 7827 return f(mp)78287830 '''Gets a list of audio output devices for a given audio output module, 7831 See L{libvlc_audio_output_device_set}(). 7832 @note: Not all audio outputs support this. In particular, an empty (None) 7833 list of devices does B{not} imply that the specified audio output does 7834 not work. 7835 @note: The list might not be exhaustive. 7836 @warning: Some audio output devices in the list might not actually work in 7837 some circumstances. By default, it is recommended to not specify any 7838 explicit audio device. 7839 @param p_instance: libvlc instance. 7840 @param aout: audio output name (as returned by L{libvlc_audio_output_list_get}()). 7841 @return: A None-terminated linked list of potential audio output devices. It must be freed with L{libvlc_audio_output_device_list_release}(). 7842 @version: LibVLC 2.1.0 or later. 7843 ''' 7844 f = _Cfunctions.get('libvlc_audio_output_device_list_get', None) or \ 7845 _Cfunction('libvlc_audio_output_device_list_get', ((1,), (1,),), None, 7846 ctypes.POINTER(AudioOutputDevice), Instance, ctypes.c_char_p) 7847 return f(p_instance, aout)78487850 '''Frees a list of available audio output devices. 7851 @param p_list: list with audio outputs for release. 7852 @version: LibVLC 2.1.0 or later. 7853 ''' 7854 f = _Cfunctions.get('libvlc_audio_output_device_list_release', None) or \ 7855 _Cfunction('libvlc_audio_output_device_list_release', ((1,),), None, 7856 None, ctypes.POINTER(AudioOutputDevice)) 7857 return f(p_list)78587860 '''Configures an explicit audio output device. 7861 If the module paramater is None, audio output will be moved to the device 7862 specified by the device identifier string immediately. This is the 7863 recommended usage. 7864 A list of adequate potential device strings can be obtained with 7865 L{libvlc_audio_output_device_enum}(). 7866 However passing None is supported in LibVLC version 2.2.0 and later only; 7867 in earlier versions, this function would have no effects when the module 7868 parameter was None. 7869 If the module parameter is not None, the device parameter of the 7870 corresponding audio output, if it exists, will be set to the specified 7871 string. Note that some audio output modules do not have such a parameter 7872 (notably MMDevice and PulseAudio). 7873 A list of adequate potential device strings can be obtained with 7874 L{libvlc_audio_output_device_list_get}(). 7875 @note: This function does not select the specified audio output plugin. 7876 L{libvlc_audio_output_set}() is used for that purpose. 7877 @warning: The syntax for the device parameter depends on the audio output. 7878 Some audio output modules require further parameters (e.g. a channels map 7879 in the case of ALSA). 7880 @param mp: media player. 7881 @param module: If None, current audio output module. if non-None, name of audio output module. 7882 @param device_id: device identifier string. 7883 @return: Nothing. Errors are ignored (this is a design bug). 7884 ''' 7885 f = _Cfunctions.get('libvlc_audio_output_device_set', None) or \ 7886 _Cfunction('libvlc_audio_output_device_set', ((1,), (1,), (1,),), None, 7887 None, MediaPlayer, ctypes.c_char_p, ctypes.c_char_p) 7888 return f(mp, module, device_id)78897891 '''Get the current audio output device identifier. 7892 This complements L{libvlc_audio_output_device_set}(). 7893 @warning: The initial value for the current audio output device identifier 7894 may not be set or may be some unknown value. A LibVLC application should 7895 compare this value against the known device identifiers (e.g. those that 7896 were previously retrieved by a call to L{libvlc_audio_output_device_enum} or 7897 L{libvlc_audio_output_device_list_get}) to find the current audio output device. 7898 It is possible that the selected audio output device changes (an external 7899 change) without a call to L{libvlc_audio_output_device_set}. That may make this 7900 method unsuitable to use if a LibVLC application is attempting to track 7901 dynamic audio device changes as they happen. 7902 @param mp: media player. 7903 @return: the current audio output device identifier None if no device is selected or in case of error (the result must be released with free() or L{libvlc_free}()). 7904 @version: LibVLC 3.0.0 or later. 7905 ''' 7906 f = _Cfunctions.get('libvlc_audio_output_device_get', None) or \ 7907 _Cfunction('libvlc_audio_output_device_get', ((1,),), string_result, 7908 ctypes.c_void_p, MediaPlayer) 7909 return f(mp)79107912 '''Toggle mute status. 7913 @param p_mi: media player @warning Toggling mute atomically is not always possible: On some platforms, other processes can mute the VLC audio playback stream asynchronously. Thus, there is a small race condition where toggling will not work. See also the limitations of L{libvlc_audio_set_mute}(). 7914 ''' 7915 f = _Cfunctions.get('libvlc_audio_toggle_mute', None) or \ 7916 _Cfunction('libvlc_audio_toggle_mute', ((1,),), None, 7917 None, MediaPlayer) 7918 return f(p_mi)79197921 '''Get current mute status. 7922 @param p_mi: media player. 7923 @return: the mute status (boolean) if defined, -1 if undefined/unapplicable. 7924 ''' 7925 f = _Cfunctions.get('libvlc_audio_get_mute', None) or \ 7926 _Cfunction('libvlc_audio_get_mute', ((1,),), None, 7927 ctypes.c_int, MediaPlayer) 7928 return f(p_mi)79297931 '''Set mute status. 7932 @param p_mi: media player. 7933 @param status: If status is true then mute, otherwise unmute @warning This function does not always work. If there are no active audio playback stream, the mute status might not be available. If digital pass-through (S/PDIF, HDMI...) is in use, muting may be unapplicable. Also some audio output plugins do not support muting at all. @note To force silent playback, disable all audio tracks. This is more efficient and reliable than mute. 7934 ''' 7935 f = _Cfunctions.get('libvlc_audio_set_mute', None) or \ 7936 _Cfunction('libvlc_audio_set_mute', ((1,), (1,),), None, 7937 None, MediaPlayer, ctypes.c_int) 7938 return f(p_mi, status)79397941 '''Get current software audio volume. 7942 @param p_mi: media player. 7943 @return: the software volume in percents (0 = mute, 100 = nominal / 0dB). 7944 ''' 7945 f = _Cfunctions.get('libvlc_audio_get_volume', None) or \ 7946 _Cfunction('libvlc_audio_get_volume', ((1,),), None, 7947 ctypes.c_int, MediaPlayer) 7948 return f(p_mi)79497951 '''Set current software audio volume. 7952 @param p_mi: media player. 7953 @param i_volume: the volume in percents (0 = mute, 100 = 0dB). 7954 @return: 0 if the volume was set, -1 if it was out of range. 7955 ''' 7956 f = _Cfunctions.get('libvlc_audio_set_volume', None) or \ 7957 _Cfunction('libvlc_audio_set_volume', ((1,), (1,),), None, 7958 ctypes.c_int, MediaPlayer, ctypes.c_int) 7959 return f(p_mi, i_volume)79607962 '''Get number of available audio tracks. 7963 @param p_mi: media player. 7964 @return: the number of available audio tracks (int), or -1 if unavailable. 7965 ''' 7966 f = _Cfunctions.get('libvlc_audio_get_track_count', None) or \ 7967 _Cfunction('libvlc_audio_get_track_count', ((1,),), None, 7968 ctypes.c_int, MediaPlayer) 7969 return f(p_mi)79707972 '''Get the description of available audio tracks. 7973 @param p_mi: media player. 7974 @return: list with description of available audio tracks, or None. It must be freed with L{libvlc_track_description_list_release}(). 7975 ''' 7976 f = _Cfunctions.get('libvlc_audio_get_track_description', None) or \ 7977 _Cfunction('libvlc_audio_get_track_description', ((1,),), None, 7978 ctypes.POINTER(TrackDescription), MediaPlayer) 7979 return f(p_mi)79807982 '''Get current audio track. 7983 @param p_mi: media player. 7984 @return: the audio track ID or -1 if no active input. 7985 ''' 7986 f = _Cfunctions.get('libvlc_audio_get_track', None) or \ 7987 _Cfunction('libvlc_audio_get_track', ((1,),), None, 7988 ctypes.c_int, MediaPlayer) 7989 return f(p_mi)79907992 '''Set current audio track. 7993 @param p_mi: media player. 7994 @param i_track: the track ID (i_id field from track description). 7995 @return: 0 on success, -1 on error. 7996 ''' 7997 f = _Cfunctions.get('libvlc_audio_set_track', None) or \ 7998 _Cfunction('libvlc_audio_set_track', ((1,), (1,),), None, 7999 ctypes.c_int, MediaPlayer, ctypes.c_int) 8000 return f(p_mi, i_track)80018003 '''Get current audio channel. 8004 @param p_mi: media player. 8005 @return: the audio channel See L{AudioOutputChannel}. 8006 ''' 8007 f = _Cfunctions.get('libvlc_audio_get_channel', None) or \ 8008 _Cfunction('libvlc_audio_get_channel', ((1,),), None, 8009 ctypes.c_int, MediaPlayer) 8010 return f(p_mi)80118013 '''Set current audio channel. 8014 @param p_mi: media player. 8015 @param channel: the audio channel, See L{AudioOutputChannel}. 8016 @return: 0 on success, -1 on error. 8017 ''' 8018 f = _Cfunctions.get('libvlc_audio_set_channel', None) or \ 8019 _Cfunction('libvlc_audio_set_channel', ((1,), (1,),), None, 8020 ctypes.c_int, MediaPlayer, ctypes.c_int) 8021 return f(p_mi, channel)80228024 '''Get current audio delay. 8025 @param p_mi: media player. 8026 @return: the audio delay (microseconds). 8027 @version: LibVLC 1.1.1 or later. 8028 ''' 8029 f = _Cfunctions.get('libvlc_audio_get_delay', None) or \ 8030 _Cfunction('libvlc_audio_get_delay', ((1,),), None, 8031 ctypes.c_int64, MediaPlayer) 8032 return f(p_mi)80338035 '''Set current audio delay. The audio delay will be reset to zero each time the media changes. 8036 @param p_mi: media player. 8037 @param i_delay: the audio delay (microseconds). 8038 @return: 0 on success, -1 on error. 8039 @version: LibVLC 1.1.1 or later. 8040 ''' 8041 f = _Cfunctions.get('libvlc_audio_set_delay', None) or \ 8042 _Cfunction('libvlc_audio_set_delay', ((1,), (1,),), None, 8043 ctypes.c_int, MediaPlayer, ctypes.c_int64) 8044 return f(p_mi, i_delay)80458047 '''Get the number of equalizer presets. 8048 @return: number of presets. 8049 @version: LibVLC 2.2.0 or later. 8050 ''' 8051 f = _Cfunctions.get('libvlc_audio_equalizer_get_preset_count', None) or \ 8052 _Cfunction('libvlc_audio_equalizer_get_preset_count', (), None, 8053 ctypes.c_uint) 8054 return f()80558057 '''Get the name of a particular equalizer preset. 8058 This name can be used, for example, to prepare a preset label or menu in a user 8059 interface. 8060 @param u_index: index of the preset, counting from zero. 8061 @return: preset name, or None if there is no such preset. 8062 @version: LibVLC 2.2.0 or later. 8063 ''' 8064 f = _Cfunctions.get('libvlc_audio_equalizer_get_preset_name', None) or \ 8065 _Cfunction('libvlc_audio_equalizer_get_preset_name', ((1,),), None, 8066 ctypes.c_char_p, ctypes.c_uint) 8067 return f(u_index)80688070 '''Get the number of distinct frequency bands for an equalizer. 8071 @return: number of frequency bands. 8072 @version: LibVLC 2.2.0 or later. 8073 ''' 8074 f = _Cfunctions.get('libvlc_audio_equalizer_get_band_count', None) or \ 8075 _Cfunction('libvlc_audio_equalizer_get_band_count', (), None, 8076 ctypes.c_uint) 8077 return f()80788080 '''Get a particular equalizer band frequency. 8081 This value can be used, for example, to create a label for an equalizer band control 8082 in a user interface. 8083 @param u_index: index of the band, counting from zero. 8084 @return: equalizer band frequency (Hz), or -1 if there is no such band. 8085 @version: LibVLC 2.2.0 or later. 8086 ''' 8087 f = _Cfunctions.get('libvlc_audio_equalizer_get_band_frequency', None) or \ 8088 _Cfunction('libvlc_audio_equalizer_get_band_frequency', ((1,),), None, 8089 ctypes.c_float, ctypes.c_uint) 8090 return f(u_index)80918093 '''Create a new default equalizer, with all frequency values zeroed. 8094 The new equalizer can subsequently be applied to a media player by invoking 8095 L{libvlc_media_player_set_equalizer}(). 8096 The returned handle should be freed via L{libvlc_audio_equalizer_release}() when 8097 it is no longer needed. 8098 @return: opaque equalizer handle, or None on error. 8099 @version: LibVLC 2.2.0 or later. 8100 ''' 8101 f = _Cfunctions.get('libvlc_audio_equalizer_new', None) or \ 8102 _Cfunction('libvlc_audio_equalizer_new', (), class_result(AudioEqualizer), 8103 ctypes.c_void_p) 8104 return f()81058107 '''Create a new equalizer, with initial frequency values copied from an existing 8108 preset. 8109 The new equalizer can subsequently be applied to a media player by invoking 8110 L{libvlc_media_player_set_equalizer}(). 8111 The returned handle should be freed via L{libvlc_audio_equalizer_release}() when 8112 it is no longer needed. 8113 @param u_index: index of the preset, counting from zero. 8114 @return: opaque equalizer handle, or None on error. 8115 @version: LibVLC 2.2.0 or later. 8116 ''' 8117 f = _Cfunctions.get('libvlc_audio_equalizer_new_from_preset', None) or \ 8118 _Cfunction('libvlc_audio_equalizer_new_from_preset', ((1,),), class_result(AudioEqualizer), 8119 ctypes.c_void_p, ctypes.c_uint) 8120 return f(u_index)81218123 '''Release a previously created equalizer instance. 8124 The equalizer was previously created by using L{libvlc_audio_equalizer_new}() or 8125 L{libvlc_audio_equalizer_new_from_preset}(). 8126 It is safe to invoke this method with a None p_equalizer parameter for no effect. 8127 @param p_equalizer: opaque equalizer handle, or None. 8128 @version: LibVLC 2.2.0 or later. 8129 ''' 8130 f = _Cfunctions.get('libvlc_audio_equalizer_release', None) or \ 8131 _Cfunction('libvlc_audio_equalizer_release', ((1,),), None, 8132 None, AudioEqualizer) 8133 return f(p_equalizer)81348136 '''Set a new pre-amplification value for an equalizer. 8137 The new equalizer settings are subsequently applied to a media player by invoking 8138 L{libvlc_media_player_set_equalizer}(). 8139 The supplied amplification value will be clamped to the -20.0 to +20.0 range. 8140 @param p_equalizer: valid equalizer handle, must not be None. 8141 @param f_preamp: preamp value (-20.0 to 20.0 Hz). 8142 @return: zero on success, -1 on error. 8143 @version: LibVLC 2.2.0 or later. 8144 ''' 8145 f = _Cfunctions.get('libvlc_audio_equalizer_set_preamp', None) or \ 8146 _Cfunction('libvlc_audio_equalizer_set_preamp', ((1,), (1,),), None, 8147 ctypes.c_int, AudioEqualizer, ctypes.c_float) 8148 return f(p_equalizer, f_preamp)81498151 '''Get the current pre-amplification value from an equalizer. 8152 @param p_equalizer: valid equalizer handle, must not be None. 8153 @return: preamp value (Hz). 8154 @version: LibVLC 2.2.0 or later. 8155 ''' 8156 f = _Cfunctions.get('libvlc_audio_equalizer_get_preamp', None) or \ 8157 _Cfunction('libvlc_audio_equalizer_get_preamp', ((1,),), None, 8158 ctypes.c_float, AudioEqualizer) 8159 return f(p_equalizer)81608162 '''Set a new amplification value for a particular equalizer frequency band. 8163 The new equalizer settings are subsequently applied to a media player by invoking 8164 L{libvlc_media_player_set_equalizer}(). 8165 The supplied amplification value will be clamped to the -20.0 to +20.0 range. 8166 @param p_equalizer: valid equalizer handle, must not be None. 8167 @param f_amp: amplification value (-20.0 to 20.0 Hz). 8168 @param u_band: index, counting from zero, of the frequency band to set. 8169 @return: zero on success, -1 on error. 8170 @version: LibVLC 2.2.0 or later. 8171 ''' 8172 f = _Cfunctions.get('libvlc_audio_equalizer_set_amp_at_index', None) or \ 8173 _Cfunction('libvlc_audio_equalizer_set_amp_at_index', ((1,), (1,), (1,),), None, 8174 ctypes.c_int, AudioEqualizer, ctypes.c_float, ctypes.c_uint) 8175 return f(p_equalizer, f_amp, u_band)81768178 '''Get the amplification value for a particular equalizer frequency band. 8179 @param p_equalizer: valid equalizer handle, must not be None. 8180 @param u_band: index, counting from zero, of the frequency band to get. 8181 @return: amplification value (Hz); NaN if there is no such frequency band. 8182 @version: LibVLC 2.2.0 or later. 8183 ''' 8184 f = _Cfunctions.get('libvlc_audio_equalizer_get_amp_at_index', None) or \ 8185 _Cfunction('libvlc_audio_equalizer_get_amp_at_index', ((1,), (1,),), None, 8186 ctypes.c_float, AudioEqualizer, ctypes.c_uint) 8187 return f(p_equalizer, u_band)81888190 '''Apply new equalizer settings to a media player. 8191 The equalizer is first created by invoking L{libvlc_audio_equalizer_new}() or 8192 L{libvlc_audio_equalizer_new_from_preset}(). 8193 It is possible to apply new equalizer settings to a media player whether the media 8194 player is currently playing media or not. 8195 Invoking this method will immediately apply the new equalizer settings to the audio 8196 output of the currently playing media if there is any. 8197 If there is no currently playing media, the new equalizer settings will be applied 8198 later if and when new media is played. 8199 Equalizer settings will automatically be applied to subsequently played media. 8200 To disable the equalizer for a media player invoke this method passing None for the 8201 p_equalizer parameter. 8202 The media player does not keep a reference to the supplied equalizer so it is safe 8203 for an application to release the equalizer reference any time after this method 8204 returns. 8205 @param p_mi: opaque media player handle. 8206 @param p_equalizer: opaque equalizer handle, or None to disable the equalizer for this media player. 8207 @return: zero on success, -1 on error. 8208 @version: LibVLC 2.2.0 or later. 8209 ''' 8210 f = _Cfunctions.get('libvlc_media_player_set_equalizer', None) or \ 8211 _Cfunction('libvlc_media_player_set_equalizer', ((1,), (1,),), None, 8212 ctypes.c_int, MediaPlayer, AudioEqualizer) 8213 return f(p_mi, p_equalizer)82148216 '''Gets the media role. 8217 @param p_mi: media player. 8218 @return: the media player role (\ref libvlc_media_player_role_t). 8219 @version: LibVLC 3.0.0 and later. 8220 ''' 8221 f = _Cfunctions.get('libvlc_media_player_get_role', None) or \ 8222 _Cfunction('libvlc_media_player_get_role', ((1,),), None, 8223 ctypes.c_int, MediaPlayer) 8224 return f(p_mi)82258227 '''Sets the media role. 8228 @param p_mi: media player. 8229 @param role: the media player role (\ref libvlc_media_player_role_t). 8230 @return: 0 on success, -1 on error. 8231 ''' 8232 f = _Cfunctions.get('libvlc_media_player_set_role', None) or \ 8233 _Cfunction('libvlc_media_player_set_role', ((1,), (1,),), None, 8234 ctypes.c_int, MediaPlayer, ctypes.c_uint) 8235 return f(p_mi, role)82368238 '''Create new media_list_player. 8239 @param p_instance: libvlc instance. 8240 @return: media list player instance or None on error. 8241 ''' 8242 f = _Cfunctions.get('libvlc_media_list_player_new', None) or \ 8243 _Cfunction('libvlc_media_list_player_new', ((1,),), class_result(MediaListPlayer), 8244 ctypes.c_void_p, Instance) 8245 return f(p_instance)82468248 '''Release a media_list_player after use 8249 Decrement the reference count of a media player object. If the 8250 reference count is 0, then L{libvlc_media_list_player_release}() will 8251 release the media player object. If the media player object 8252 has been released, then it should not be used again. 8253 @param p_mlp: media list player instance. 8254 ''' 8255 f = _Cfunctions.get('libvlc_media_list_player_release', None) or \ 8256 _Cfunction('libvlc_media_list_player_release', ((1,),), None, 8257 None, MediaListPlayer) 8258 return f(p_mlp)82598261 '''Retain a reference to a media player list object. Use 8262 L{libvlc_media_list_player_release}() to decrement reference count. 8263 @param p_mlp: media player list object. 8264 ''' 8265 f = _Cfunctions.get('libvlc_media_list_player_retain', None) or \ 8266 _Cfunction('libvlc_media_list_player_retain', ((1,),), None, 8267 None, MediaListPlayer) 8268 return f(p_mlp)82698271 '''Return the event manager of this media_list_player. 8272 @param p_mlp: media list player instance. 8273 @return: the event manager. 8274 ''' 8275 f = _Cfunctions.get('libvlc_media_list_player_event_manager', None) or \ 8276 _Cfunction('libvlc_media_list_player_event_manager', ((1,),), class_result(EventManager), 8277 ctypes.c_void_p, MediaListPlayer) 8278 return f(p_mlp)82798281 '''Replace media player in media_list_player with this instance. 8282 @param p_mlp: media list player instance. 8283 @param p_mi: media player instance. 8284 ''' 8285 f = _Cfunctions.get('libvlc_media_list_player_set_media_player', None) or \ 8286 _Cfunction('libvlc_media_list_player_set_media_player', ((1,), (1,),), None, 8287 None, MediaListPlayer, MediaPlayer) 8288 return f(p_mlp, p_mi)82898291 '''Get media player of the media_list_player instance. 8292 @param p_mlp: media list player instance. 8293 @return: media player instance @note the caller is responsible for releasing the returned instance. 8294 ''' 8295 f = _Cfunctions.get('libvlc_media_list_player_get_media_player', None) or \ 8296 _Cfunction('libvlc_media_list_player_get_media_player', ((1,),), class_result(MediaPlayer), 8297 ctypes.c_void_p, MediaListPlayer) 8298 return f(p_mlp)82998301 '''Set the media list associated with the player. 8302 @param p_mlp: media list player instance. 8303 @param p_mlist: list of media. 8304 ''' 8305 f = _Cfunctions.get('libvlc_media_list_player_set_media_list', None) or \ 8306 _Cfunction('libvlc_media_list_player_set_media_list', ((1,), (1,),), None, 8307 None, MediaListPlayer, MediaList) 8308 return f(p_mlp, p_mlist)83098311 '''Play media list. 8312 @param p_mlp: media list player instance. 8313 ''' 8314 f = _Cfunctions.get('libvlc_media_list_player_play', None) or \ 8315 _Cfunction('libvlc_media_list_player_play', ((1,),), None, 8316 None, MediaListPlayer) 8317 return f(p_mlp)83188320 '''Toggle pause (or resume) media list. 8321 @param p_mlp: media list player instance. 8322 ''' 8323 f = _Cfunctions.get('libvlc_media_list_player_pause', None) or \ 8324 _Cfunction('libvlc_media_list_player_pause', ((1,),), None, 8325 None, MediaListPlayer) 8326 return f(p_mlp)83278329 '''Pause or resume media list. 8330 @param p_mlp: media list player instance. 8331 @param do_pause: play/resume if zero, pause if non-zero. 8332 @version: LibVLC 3.0.0 or later. 8333 ''' 8334 f = _Cfunctions.get('libvlc_media_list_player_set_pause', None) or \ 8335 _Cfunction('libvlc_media_list_player_set_pause', ((1,), (1,),), None, 8336 None, MediaListPlayer, ctypes.c_int) 8337 return f(p_mlp, do_pause)83388340 '''Is media list playing? 8341 @param p_mlp: media list player instance. 8342 @return: true for playing and false for not playing \libvlc_return_bool. 8343 ''' 8344 f = _Cfunctions.get('libvlc_media_list_player_is_playing', None) or \ 8345 _Cfunction('libvlc_media_list_player_is_playing', ((1,),), None, 8346 ctypes.c_int, MediaListPlayer) 8347 return f(p_mlp)83488350 '''Get current libvlc_state of media list player. 8351 @param p_mlp: media list player instance. 8352 @return: L{State} for media list player. 8353 ''' 8354 f = _Cfunctions.get('libvlc_media_list_player_get_state', None) or \ 8355 _Cfunction('libvlc_media_list_player_get_state', ((1,),), None, 8356 State, MediaListPlayer) 8357 return f(p_mlp)83588360 '''Play media list item at position index. 8361 @param p_mlp: media list player instance. 8362 @param i_index: index in media list to play. 8363 @return: 0 upon success -1 if the item wasn't found. 8364 ''' 8365 f = _Cfunctions.get('libvlc_media_list_player_play_item_at_index', None) or \ 8366 _Cfunction('libvlc_media_list_player_play_item_at_index', ((1,), (1,),), None, 8367 ctypes.c_int, MediaListPlayer, ctypes.c_int) 8368 return f(p_mlp, i_index)83698371 '''Play the given media item. 8372 @param p_mlp: media list player instance. 8373 @param p_md: the media instance. 8374 @return: 0 upon success, -1 if the media is not part of the media list. 8375 ''' 8376 f = _Cfunctions.get('libvlc_media_list_player_play_item', None) or \ 8377 _Cfunction('libvlc_media_list_player_play_item', ((1,), (1,),), None, 8378 ctypes.c_int, MediaListPlayer, Media) 8379 return f(p_mlp, p_md)83808382 '''Stop playing media list. 8383 @param p_mlp: media list player instance. 8384 ''' 8385 f = _Cfunctions.get('libvlc_media_list_player_stop', None) or \ 8386 _Cfunction('libvlc_media_list_player_stop', ((1,),), None, 8387 None, MediaListPlayer) 8388 return f(p_mlp)83898391 '''Play next item from media list. 8392 @param p_mlp: media list player instance. 8393 @return: 0 upon success -1 if there is no next item. 8394 ''' 8395 f = _Cfunctions.get('libvlc_media_list_player_next', None) or \ 8396 _Cfunction('libvlc_media_list_player_next', ((1,),), None, 8397 ctypes.c_int, MediaListPlayer) 8398 return f(p_mlp)83998401 '''Play previous item from media list. 8402 @param p_mlp: media list player instance. 8403 @return: 0 upon success -1 if there is no previous item. 8404 ''' 8405 f = _Cfunctions.get('libvlc_media_list_player_previous', None) or \ 8406 _Cfunction('libvlc_media_list_player_previous', ((1,),), None, 8407 ctypes.c_int, MediaListPlayer) 8408 return f(p_mlp)84098411 '''Sets the playback mode for the playlist. 8412 @param p_mlp: media list player instance. 8413 @param e_mode: playback mode specification. 8414 ''' 8415 f = _Cfunctions.get('libvlc_media_list_player_set_playback_mode', None) or \ 8416 _Cfunction('libvlc_media_list_player_set_playback_mode', ((1,), (1,),), None, 8417 None, MediaListPlayer, PlaybackMode) 8418 return f(p_mlp, e_mode)84198420 8421 # 5 function(s) blacklisted: 8422 # libvlc_audio_output_get_device_type 8423 # libvlc_audio_output_set_device_type 8424 # libvlc_dialog_set_callbacks 8425 # libvlc_printerr 8426 # libvlc_set_exit_handler 8427 8428 # 39 function(s) not wrapped as methods: 8429 # libvlc_audio_equalizer_get_band_count 8430 # libvlc_audio_equalizer_get_band_frequency 8431 # libvlc_audio_equalizer_get_preset_count 8432 # libvlc_audio_equalizer_get_preset_name 8433 # libvlc_audio_equalizer_new 8434 # libvlc_audio_equalizer_new_from_preset 8435 # libvlc_audio_output_device_list_release 8436 # libvlc_audio_output_list_release 8437 # libvlc_chapter_descriptions_release 8438 # libvlc_clearerr 8439 # libvlc_clock 8440 # libvlc_dialog_dismiss 8441 # libvlc_dialog_get_context 8442 # libvlc_dialog_post_action 8443 # libvlc_dialog_post_login 8444 # libvlc_dialog_set_context 8445 # libvlc_event_type_name 8446 # libvlc_free 8447 # libvlc_get_changeset 8448 # libvlc_get_compiler 8449 # libvlc_get_version 8450 # libvlc_log_clear 8451 # libvlc_log_close 8452 # libvlc_log_count 8453 # libvlc_log_get_context 8454 # libvlc_log_get_iterator 8455 # libvlc_log_get_object 8456 # libvlc_media_discoverer_list_release 8457 # libvlc_media_get_codec_description 8458 # libvlc_media_slaves_release 8459 # libvlc_media_tracks_release 8460 # libvlc_module_description_list_release 8461 # libvlc_new 8462 # libvlc_renderer_discoverer_list_release 8463 # libvlc_title_descriptions_release 8464 # libvlc_track_description_list_release 8465 # libvlc_track_description_release 8466 # libvlc_video_new_viewpoint 8467 # libvlc_vprinterr 8468 8469 # Start of footer.py # 8470 8471 # Backward compatibility 8472 -def callbackmethod(callback):8475 8476 # libvlc_free is not present in some versions of libvlc. If it is not 8477 # in the library, then emulate it by calling libc.free 8478 if not hasattr(dll, 'libvlc_free'): 8479 # need to find the free function in the C runtime. This is 8480 # platform specific. 8481 # For Linux and MacOSX 8482 libc_path = find_library('c') 8483 if libc_path: 8484 libc = ctypes.CDLL(libc_path) 8485 libvlc_free = libc.free 8486 else:8487 # On win32, it is impossible to guess the proper lib to call 8488 # (msvcrt, mingw...). Just ignore the call: it will memleak, 8489 # but not prevent to run the application. 8490 - def libvlc_free(p):8492 8493 # ensure argtypes is right, because default type of int won't 8494 # work on 64-bit systems 8495 libvlc_free.argtypes = [ ctypes.c_void_p ]8499 '''(INTERNAL) Convert 'i.i.i[.i]' str to int. 8500 ''' 8501 t = [int(i) for i in v.split('.')] 8502 if len(t) == 3: 8503 if t[2] < 100: 8504 t.append(0) 8505 else: # 100 is arbitrary 8506 t[2:4] = divmod(t[2], 100) 8507 elif len(t) != 4: 8508 raise ValueError('"i.i.i[.i]": %r' % (v,)) 8509 if min(t) < 0 or max(t) > 255: 8510 raise ValueError('[0..255]: %r' % (v,)) 8511 i = t.pop(0) 8512 while t: 8513 i = (i << 8) + t.pop(0) 8514 return i85158517 """Return the version of these bindings in hex or 0 if unavailable. 8518 """ 8519 try: 8520 return _dot2int(__version__) 8521 except (NameError, ValueError): 8522 return 085238525 """Return the libvlc version in hex or 0 if unavailable. 8526 """ 8527 try: 8528 return _dot2int(bytes_to_str(libvlc_get_version()).split()[0]) 8529 except ValueError: 8530 return 085318533 '''Example callback, useful for debugging. 8534 ''' 8535 l = ['event %s' % (event.type,)] 8536 if args: 8537 l.extend(map(str, args)) 8538 if kwds: 8539 l.extend(sorted('%s=%s' % t for t in kwds.items())) 8540 print('Debug callback (%s)' % ', '.join(l))8541 8542 8543 if __name__ == '__main__': 8544 logging.basicConfig(level=logging.DEBUG) 8545 try: 8546 from msvcrt import getch 8547 except ImportError: 8548 import termios 8549 import tty 8552 fd = sys.stdin.fileno() 8553 old = termios.tcgetattr(fd) 8554 try: 8555 tty.setraw(fd) 8556 ch = sys.stdin.read(1) 8557 finally: 8558 termios.tcsetattr(fd, termios.TCSADRAIN, old) 8559 return ch 8560 8564 8565 echo_position = False8567 if echo_position: 8568 sys.stdout.write('\r%s to %.2f%% (%.2f%%)' % (event.type, 8569 event.u.new_position * 100, 8570 player.get_position() * 100)) 8571 sys.stdout.flush()85728574 from platform import architecture, mac_ver, uname, win32_ver 8575 if 'intelpython' in sys.executable: 8576 t = 'Intel-' 8577 # elif 'PyPy ' in sys.version: 8578 # t = 'PyPy-' 8579 else: 8580 t = '' 8581 t = '%sPython: %s (%s)' % (t, sys.version.split()[0], architecture()[0]) 8582 if win32_ver()[0]: 8583 t = t, 'Windows', win32_ver()[0] 8584 elif mac_ver()[0]: 8585 t = t, ('iOS' if sys.platform == 'ios' else 'macOS'), mac_ver()[0] 8586 else: 8587 try: 8588 import distro # <http://GitHub.com/nir0s/distro> 8589 t = t, bytes_to_str(distro.name()), bytes_to_str(distro.version()) 8590 except ImportError: 8591 t = (t,) + uname()[0:3:2] 8592 print(' '.join(t))85938595 """Print version of this vlc.py and of the libvlc""" 8596 try: 8597 print('%s: %s (%s)' % (os.path.basename(__file__), __version__, build_date)) 8598 print('LibVLC version: %s (%#x)' % (bytes_to_str(libvlc_get_version()), libvlc_hex_version())) 8599 print('LibVLC compiler: %s' % bytes_to_str(libvlc_get_compiler())) 8600 if plugin_path: 8601 print('Plugin path: %s' % plugin_path) 8602 except Exception: 8603 print('Error: %s' % sys.exc_info()[1])8604 8605 if '-h' in sys.argv[:2] or '--help' in sys.argv[:2]: 8606 print('Usage: %s [options] <movie_filename>' % sys.argv[0]) 8607 print('Once launched, type ? for help.') 8608 print('') 8609 8610 elif '-v' in sys.argv[:2] or '--version' in sys.argv[:2]: 8611 print_version() 8612 print_python() 8613 print('') 8614 8615 else: 8616 movie = os.path.expanduser(sys.argv.pop()) 8617 if not os.access(movie, os.R_OK): 8618 print('Error: %s file not readable' % movie) 8619 sys.exit(1) 8620 8621 # Need --sub-source=marq in order to use marquee below 8622 instance = Instance(["--sub-source=marq"] + sys.argv[1:]) 8623 try: 8624 media = instance.media_new(movie) 8625 except (AttributeError, NameError) as e: 8626 print('%s: %s (%s %s vs LibVLC %s)' % (e.__class__.__name__, e, 8627 sys.argv[0], __version__, 8628 libvlc_get_version())) 8629 sys.exit(1) 8630 player = instance.media_player_new() 8631 player.set_media(media) 8632 player.play() 8633 8634 # Some marquee examples. Marquee requires '--sub-source marq' in the 8635 # Instance() call above, see <http://www.videolan.org/doc/play-howto/en/ch04.html> 8636 player.video_set_marquee_int(VideoMarqueeOption.Enable, 1) 8637 player.video_set_marquee_int(VideoMarqueeOption.Size, 24) # pixels 8638 player.video_set_marquee_int(VideoMarqueeOption.Position, Position.Bottom) 8639 if False: # only one marquee can be specified 8640 player.video_set_marquee_int(VideoMarqueeOption.Timeout, 5000) # millisec, 0==forever 8641 t = media.get_mrl() # movie 8642 else: # update marquee text periodically 8643 player.video_set_marquee_int(VideoMarqueeOption.Timeout, 0) # millisec, 0==forever 8644 player.video_set_marquee_int(VideoMarqueeOption.Refresh, 1000) # millisec (or sec?) 8645 ##t = '$L / $D or $P at $T' 8646 t = '%Y-%m-%d %H:%M:%S' 8647 player.video_set_marquee_string(VideoMarqueeOption.Text, str_to_bytes(t)) 8648 8649 # Some event manager examples. Note, the callback can be any Python 8650 # callable and does not need to be decorated. Optionally, specify 8651 # any number of positional and/or keyword arguments to be passed 8652 # to the callback (in addition to the first one, an Event instance). 8653 event_manager = player.event_manager() 8654 event_manager.event_attach(EventType.MediaPlayerEndReached, end_callback) 8655 event_manager.event_attach(EventType.MediaPlayerPositionChanged, pos_callback, player) 86608662 """Print information about the media""" 8663 try: 8664 print_version() 8665 media = player.get_media() 8666 print('State: %s' % player.get_state()) 8667 print('Media: %s' % bytes_to_str(media.get_mrl())) 8668 print('Track: %s/%s' % (player.video_get_track(), player.video_get_track_count())) 8669 print('Current time: %s/%s' % (player.get_time(), media.get_duration())) 8670 print('Position: %s' % player.get_position()) 8671 print('FPS: %s (%d ms)' % (player.get_fps(), mspf())) 8672 print('Rate: %s' % player.get_rate()) 8673 print('Video size: %s' % str(player.video_get_size(0))) # num=0 8674 print('Scale: %s' % player.video_get_scale()) 8675 print('Aspect ratio: %s' % player.video_get_aspect_ratio()) 8676 #print('Window:' % player.get_hwnd() 8677 except Exception: 8678 print('Error: %s' % sys.exc_info()[1])8679 8683 8687 8691 8695 8703 8707 8712 8713 keybindings = { 8714 ' ': player.pause, 8715 '+': sec_forward, 8716 '-': sec_backward, 8717 '.': frame_forward, 8718 ',': frame_backward, 8719 'f': player.toggle_fullscreen, 8720 'i': print_info, 8721 'p': toggle_echo_position, 8722 'q': quit_app, 8723 '?': print_help, 8724 } 8725 8726 print('Press q to quit, ? to get help.%s' % os.linesep) 8727 while True: 8728 k = getch() 8729 print('> %s' % k) 8730 if k in keybindings: 8731 keybindings[k]() 8732 elif k.isdigit(): 8733 # jump to fraction of the movie. 8734 player.set_position(float('0.'+k)) 8735
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Sat Jul 25 13:13:08 2020 | http://epydoc.sourceforge.net |