1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-04 09:11:33 +02:00
Commit Graph

80 Commits

Author SHA1 Message Date
Francois Cartegnie
3946b13fa2 add stream_Custom 2015-10-05 23:30:15 +02:00
Rémi Denis-Courmont
f680366757 stream: privatize the destruction callback 2015-09-02 22:30:27 +03:00
Rémi Denis-Courmont
8368744397 stream: remove first parameter to STREAM_IS_DIRECTORY
Return an error code if the stream is not a directory (similar to
STREAM_GET_SIZE).
2015-09-02 21:50:43 +03:00
Rémi Denis-Courmont
efe323f85f stream: STREAM_IS_DIRECTORY can actually fail, fix accordingly 2015-09-02 20:21:46 +03:00
Rémi Denis-Courmont
994a2555f0 stream: put stream_Seek() out of line 2015-09-02 20:03:22 +03:00
Rémi Denis-Courmont
b1082a5cc0 stream: replace STREAM_SET_POSITION control with dedicated pf_seek
Also:
 - zip: fix seeking to end of file
 - accesstweaks: fix segmentation fault when (inhibiting) seeking
 - decomp: set callbacks only on successful init
2015-09-02 20:02:03 +03:00
Rémi Denis-Courmont
fa4f2b18d2 stream: remove no longer used stream_t.b_error 2015-09-01 21:13:12 +03:00
Rémi Denis-Courmont
9e842af879 stream: remove STREAM_GET_POSITION control 2015-08-31 22:34:21 +03:00
Rémi Denis-Courmont
48786ae56d stream: provide a common implementation of stream_Tell() 2015-08-31 22:19:32 +03:00
Rémi Denis-Courmont
79b36fbb5b stream: move Doxygen for steam_Read() and stream_Peek() 2015-08-31 22:17:35 +03:00
Rémi Denis-Courmont
b85d67cb7f stream: warn on stream_Read() and stream_Peek() unused result
Both functions can always fail. Even if the stream size is known,
and larger than the requested bytes, reading can fail due to lower
level errors. stream_Peek() can also fail to allocate memory.

Not checking the return value is a bug.
2015-08-31 22:08:26 +03:00
Rémi Denis-Courmont
b4b8a82639 stream: fix integer overflow with stream_Block() 2015-08-31 19:59:44 +03:00
Rémi Denis-Courmont
db7e4c7780 stream: add stream_GetSize() helper
Unlike stream_Size(), this helper distinguishes between unknown and
zero sizes.
2015-08-31 18:57:17 +03:00
Rémi Denis-Courmont
84d07db2eb stream: add STREAM_GET_PRIVATE_BLOCK for block-based buffering 2015-08-25 21:28:10 +03:00
Rémi Denis-Courmont
df2cd48351 stream: use (s)size_t for callback prototypes 2015-07-26 23:57:43 +03:00
Rémi Denis-Courmont
c6274d04a8 stream: fold psz_access and psz_path into psz_url 2015-07-26 15:38:20 +03:00
Rémi Denis-Courmont
e2ac0530eb stream: restore values of STREAM_ position/size controls 2015-07-24 16:09:50 +03:00
Rémi Denis-Courmont
41683dae63 stream: allow STREAM_GET_SIZE to fail 2015-07-24 16:09:50 +03:00
Rémi Denis-Courmont
c7e83e1cee stream: remove stream_BlockRemaining() 2015-07-23 22:41:12 +03:00
Rémi Denis-Courmont
636c11b64a stream: remove unused STREAM_UPDATE_SIZE control 2015-07-23 22:28:41 +03:00
Rémi Denis-Courmont
5ce6b6a858 stream: remove stream_t.pf_peek 2015-07-23 21:07:03 +03:00
Rémi Denis-Courmont
757ced87c8 stream: provide a generic stream_Peek() front-end
In most cases, there is no or little room for optimizing this, and
the benefits are minimal. This provides a generic implementation so
that each stream filter does not need to reinvent the wheel.
2015-07-23 21:07:02 +03:00
Rémi Denis-Courmont
099840efe3 stream: fold stream_text_t into stream private data 2015-07-23 21:07:00 +03:00
Rémi Denis-Courmont
aee51fec5a include: add/fix more Doxygen groups 2015-06-14 23:25:38 +03:00
Rémi Denis-Courmont
4ee1038059 include: improve Doxygen modules
In particular, move \file stanzas inside groups.
2015-06-14 19:04:50 +03:00
Thomas Guillem
3840a03dbb access: extend STREAM_IS_DIRECTORY
It now takes two new bool* arguments.

 - specify if the access returns items that are already sorted.
 - specify if directories can loop into themselves
2015-05-20 16:07:32 +02:00
Thomas Guillem
88ffe15878 access: refactor pf_readdir
The main advantage is to move the management of the input_item_node_t from all
accesses to the directory demux.
2015-05-20 16:07:32 +02:00
Julien 'Lta' BALLET
8eb065ff63 Add a default implementation for pf_readdir for StreamFilter. Use it in stream_filter/record.c
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2014-06-24 10:58:17 +02:00
Julien 'Lta' BALLET
4371ecfc96 Add support for pf_readdir access modules in Streams
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2014-06-24 10:58:17 +02:00
Rémi Denis-Courmont
5ccba1ab1d Add STREAM_GET_PTS_DELAY control (refs #8457) 2013-11-10 18:08:03 +02:00
Rémi Denis-Courmont
a025357ee0 input: add access & stream controls for current title and seekpoint 2013-08-26 22:42:34 +03:00
Rémi Denis-Courmont
ddb88bf1a7 input/stream: remove STREAM_CONTROL_ACCESS and simplify 2013-08-25 13:09:21 +03:00
Rémi Denis-Courmont
57fe6b36d5 input/stream: add STREAM_GET_SIGNAL (fixes #8414) 2013-04-18 00:11:25 +03:00
Rémi Denis-Courmont
17d1f128e7 stream: add STREAM_GET_META 2013-04-17 23:46:40 +03:00
Rémi Denis-Courmont
f349eef029 stream: add explicit controls for titles and seekpoints 2013-04-17 22:57:45 +03:00
Rémi Denis-Courmont
e4de05b7fd stream: add STREAM_CAN_PAUSE and STREAM_CAN_CONTROL_PACE 2013-04-16 20:00:40 +03:00
Rémi Denis-Courmont
e3ff321573 stream: add STREAM_SET_PAUSE_STATE control 2013-04-16 19:04:36 +03:00
Rémi Denis-Courmont
6b19c14310 stream_Demux: add getters for position, length and time (refs #3145) 2012-08-21 18:32:52 +03:00
Laurent Aimar
63af7c781f Added stream_BlockRemaining() helper.
It is usefull to load a whole file to memory.
2012-01-07 01:14:03 +01: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
6f258887aa Replace VLC_EXPORT macro with a simple prefix, VLC_API
This should help Doxygen parse VLC headers, and generally makes headers
easier to read. LibVLC already uses a similar approach.
2011-05-07 18:43:51 +03:00
Pierre Ynard
28c4cb7455 Fix spelling: an URL -> a URL
U counts as a consonant when pronounced that way
2011-04-03 21:53:49 +02:00
Jean-Paul Saman
87a2d70001 stream_filter core: add procotol information to stream_t
In addition to p_access->psz_location also add p_access->psz_access to the contructed
stream_t *. It will allow a stream_filter to determine the protocol used in case it was
constructed with an access input.
2010-11-02 09:45:26 +01:00
Antoine Cellerier
456b635ea0 Remove trailing spaces. 2010-02-13 16:40:46 +01:00
Rémi Denis-Courmont
5a079f61a4 stream: remove leading underscores 2010-02-07 13:33:51 +02:00
Rémi Denis-Courmont
ce67728ae1 Stick b_error to object types that actually use it 2010-01-28 21:19:55 +02:00
Laurent Aimar
a463d9bd0e Made stream_t size and position unsigned.
It fixes segfaults in src/input/stream.c (at least) when demuxers
overflow int64_t seek position, and avoid testing for negative values
everywhere.
 stream_Tell() and stream_Size() still returns signed values as too much code
depend on it.
2010-01-22 00:18:34 +01:00
Jean-Philippe André
cf168e78fd Stream: Export stream_FilterNew 2009-12-19 18:56:39 +01:00
Pierre d'Herbemont
0d1f966a0b Implement access_GetParentInput and demux_GetParentInput and use.
This try to avoid vlc_object_find() as much as possible.
This is conservative, because where there is no associated parent input, we'll try to find in certain cases the parent input. This will probably be
 removed later on. Because yes, there is not necessarily a parent input for access and demux, especially if created from stream_UrlNew().
2009-08-21 12:33:56 +02:00
Laurent Aimar
9f052b2bd2 Added path information in stream_t. 2009-01-25 17:46:10 +01:00