Commit Graph

30 Commits

Author SHA1 Message Date
Rémi Denis-Courmont b67f295520 libvlc: add libvlc_media_new_callbacks() for custom input media
(fixes #8562)
2015-03-30 23:04:13 +03:00
Thomas Guillem f3cc5c9f0f libvlc: add libvlc_media_get_type
Get the type of the media.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-03-25 15:29:57 +01:00
Thomas Guillem f7da3d84c9 lib/media: fix MediaListEndReached not sent when media doesn't have sub items
MediaListEndReached event should not be sent only when a new sub item tree is
added, otherwise it won't be sent if media doesn't have any sub items.

To fix this issue, send the MediaListEndReached event when preparse function
terminates (only if the media_list was created either by user or by sub items
callbacks).

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-02-04 15:04:24 +01:00
Thomas Guillem 2bf94c2512 libvlc: add libvlc_media_parse_with_options
Extended version of libvlc_media_parse_async. It uses a flag to specify parse
options and returns an int for error handling.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-01-20 11:20:28 +01:00
Thomas Guillem 1723d7e97f libvlc: add libvlc_MediaListEndReached event
Expose an event to libvlc users which allows them to get notified when a media
list reached the end. That is, when the media list is attached to a media
(subitems) that completed a parsing. Or when the media list is attached to a
media discovery that stopped.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-01-20 11:20:28 +01:00
Thomas Guillem 16565d4c04 libvlc: media: fix leak if it has subitems
Don't call libvlc_media_list_set_media from media since it causes
p_md->p_subitems to retain p_md while p_md is already retaining
p_md->p_subitems, therefore these 2 objects won't be releasable.

Add a new internal variable: p_internal_md that is set from media without
retaining it.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-01-20 11:20:27 +01:00
Thomas Guillem 841460febe libvlc: media: lock media_list
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2015-01-20 08:17:18 +02:00
Thomas Guillem 9b2f91fa25 libvlc: media: set sub_items readonly
media's sub_items should be only writable by media.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2015-01-20 08:17:18 +02:00
Thomas Guillem 75fe4eafff libvlc: libvlc_media_subitems: lock and always return a medialist
This way, libvlc_media_subitems can be called before, during or after a
parsing. Furthermore, this allows to attach media_list events before
libvlc_media_parse is called.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2015-01-20 08:17:18 +02:00
Thomas Guillem 7458af47e6 libvlc: add libvlc_media_get_codec_description
Get codec description from media elementary stream.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-01-13 23:28:17 +01:00
Ludovic Fauvet d4ccd7a5b4 Fix broken NowPlaying (close #9960, #11796, #12850)
Prevent the es_out from overriding the NowPlaying state by splitting
the meta into NowPlaying and ESNowPlaying.

The function input_item_GetNowPlayingFb can be used to return the
preferred meta value.
2014-12-18 11:27:25 +01:00
Uwe L. Korn dae78cbb0e input: Add support for DiscNumber meta
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2014-12-08 12:14:04 +01:00
Uwe L. Korn ff555c6df9 input: Add support for AlbumArtist meta
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2014-11-23 00:11:45 +01:00
Francois Cartegnie 41af9ab209 update meta request API to allow overriding 2014-05-19 12:02:41 +02:00
Rémi Denis-Courmont 8c9e80fb1f lib: avoid NULL deref on error 2014-04-23 19:41:54 +03:00
Rémi Denis-Courmont 345afa864d libvlc_media_new_path: set more meaningful error message (fixes #10792) 2014-02-26 18:24:52 +02:00
Mark Lee 8db74e209c lib: expose new meta data attributes
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2014-02-08 16:11:13 +01:00
Rémi Denis-Courmont df07ba0d22 lib: remove playlist dependency on media parsing (fixes #5460) 2013-12-31 20:31:52 +02:00
Maxim Bublis 4b726052a3 Fixed unused variable and parameter warnings.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2013-12-01 19:19:14 +01:00
Sergey Radionov 11104cb5b2 libvlc: libvlc_MediaSubItemTreeAdded event type added
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2013-09-02 18:42:02 +03:00
Rémi Duraffort 6a4744d945 Fix missing unlock (cid #1047146) 2013-07-13 10:37:30 +02:00
Rémi Duraffort 8d1aecb3b3 Fix potential memleak (cid #1047282) 2013-07-13 08:33:57 +02:00
Rémi Denis-Courmont d8a06f64e3 libvlc_media_new_path: allow UNC paths 2013-06-11 18:36:43 +03:00
Rémi Denis-Courmont 59a6c9693c libvlc_media_tracks_get: use unsigned as applicable 2013-02-12 22:52:48 +02:00
Martin Storsjö cd5345a000 libvlc: Add a new more extensible struct libvlc_media_track_t
Due to the way this struct is allocated, it can be extended later
without breaking ABI.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2013-02-12 22:49:40 +02:00
Rémi Denis-Courmont f843903810 libvlc: do not assume playlist exists when preparsing
This could crash. The playlist needs to be started (at least until
someone resolves bug #5460).
2012-08-21 21:31:53 +03:00
Rémi Denis-Courmont abf5407607 libvlc_media_save_meta(): no need for playlist object 2012-08-21 20:37:00 +03:00
Rémi Denis-Courmont 33dfab3c21 vlc_path2uri(): rename from make_URI() and always convert path
When there is an ambiguity, the caller is responsible for determining
whether a string is an URL or a path. In most cases, the string is
known as a file path.
2012-08-20 21:01:33 +03:00
Jean-Baptiste Kempf 36ab287e77 LGPL
Re-license almost all of libVLC and libVLCcore to LGPLv2.1+

This move was authorized by the developers, either:
 - by e-mail,
 - by vote at the VideoLAN Dev Days 2011,
 - on the license website,
 - in a contract, oral or written.
No objection was raised, so far.

The developers agreeing are:
  Justus Piater
  Alexis Ballier
  Alexander Bethke
  Mohammed Adnène Trojette
  Alex Converse
  Alexey Sokolov
  Alexis de Lattre
  Andre Pang
  Anthony Loiseau
  Cyril Deguet
  André Weber
  Boris Dorès
  Brieuc Jeunhomme
  Benjamin Drung
  Hugo Beauzée-Luyssen
  Benoit Steiner
  Benjamin Pracht
  Bernie Purcell
  Przemyslaw Fiala
  Arnaud de Bossoreille de Ribou
  Brad Smith
  Nick Briggs
  Christopher Rath
  Christophe Courtaut
  Christopher Mueller
  Clement Chesnin
  Andres Krapf
  Damien Fouilleul
  David Flynn
  Sebastien Zwickert
  Antoine Cellerier
  Jérôme Decoodt
  Jérome Decoodt
  Dylan Yudaken
  Eduard Babayan
  Eugenio Jarosiewicz
  Elliot Murphy
  Eric Petit
  Erwan Tulou
  Etienne Membrives
  Ludovic Fauvet
  Fabio Ritrovato
  Tobias Güntner
  Jakub Wieczorek
  Frédéric Crozat
  Francois Cartegnie
  Laurent Aimar
  Florian G. Pflug
  Felix Paul Kühne
  Frank Enderle
  Rafaël Carré
  Simon Latapie
  Gildas Bazin
  Geoffroy Couprie
  Julien / Gellule
  Gildas Bazin
  Arnaud Schauly
  Toralf Niebuhr
  Vicente Jimenez Aguilar
  Derk-Jan Hartman
  Henri Fallon
  Ilkka Ollakka
  Olivier Teulière
  Rémi Duraffort
  Jakob Leben
  Jean-Baptiste Kempf
  Jean-Paul Saman
  Jean-Philippe Grimaldi
  Jean-François Massol
  Gaël Hendryckx
  Jakob Leben
  Jean-Marc Dressler
  Jai Menon
  Johan Bilien
  Johann Ransay
  Joris van Rooij
  JP Dinger
  Jean-Philippe André
  Adrien Grand
  Juha Jeronen
  Juho Vähä-Herttua
  Kaarlo Raiha
  Kaarlo Raiha
  Kamil Baldyga
  Keary Griffin
  Ken Self
  KO Myung-Hun
  Pierre Ynard
  Filippo Carone
  Loïc Minier
  Luca Barbato
  Lucas C. Villa Real
  Lukas Durfina
  Adrien Maglo
  Marc Ariberti
  Mark Lee
  Mark Moriarty
  Martin Storsjö
  Christophe Massiot
  Michel Kaempf
  Marian Ďurkovič
  Mirsal Ennaime
  Carlo Calabrò
  Damien Lucas
  Naohiro Koriyama
  Basos G
  Pierre Baillet
  Vincent Penquerc'h
  Olivier Aubert
  Pankaj Yadav
  Paul Corke
  Pierre d'Herbemont
  Philippe Morin
  Antoine Lejeune
  Michael Ploujnikov
  Jean-Marc Dressler
  Michael Hanselmann
  Rafaël Carré
  Ramiro Polla
  Rémi Denis-Courmont
  Renaud Dartus
  Richard Shepherd
  Faustino Osuna
  Arnaud Vallat
  Rob Jonson
  Robert Jedrzejczyk
  Steve Lhomme
  Rocky Bernstein
  Romain Goyet
  Rov Juvano
  Sam Hocevar
  Martin T. H. Sandsmark
  Sebastian Birk
  Sébastien Escudier
  Vincent Seguin
  Fabio Ritrovato
  Sigmund Augdal Helberg
  Casian Andrei
  Srikanth Raju
  Hannes Domani
  Stéphane Borel
  Stephan Krempel
  Stephan Assmus
  Tony Castley
  Pavlov Konstantin
  Eric Petit
  Tanguy Krotoff
  Dennis van Amerongen
  Michel Lespinasse
  Can Wu
  Xavier Marchesini
  Sébastien Toque
  Christophe Mutricy
  Yoann Peronneau
  Yohann Martineau
  Yuval Tze
  Scott Caudle
  Clément Stenac

It is possible, that some minor piece of code was badly tracked, for
some reasons (SVN, mainly) or that some small developers did not answer.
However, as an "œuvre collective", defined as in "CPI 113-2 alinéa 3",
and seeing "Cour. Cass. 17 Mai 1978", and seeing that the editor and
the very vast majority of developers have agreed (> 99.99% of the code,
> 99% of developers), we are fine here.
2011-11-27 22:54:33 +01:00
Rémi Denis-Courmont 7dcac68447 Move src/control/ to lib/ 2011-08-30 23:40:34 +03:00