Commit Graph

248 Commits

Author SHA1 Message Date
Rémi Denis-Courmont 4c599fee36 Recognize .m3u8 extension 2009-10-31 14:59:08 +02:00
Rémi Denis-Courmont 5d0ae5d7c8 Remove most vlc_object_set_name() calls, now redumdant 2009-09-20 12:48:41 +03:00
Rémi Denis-Courmont 07a61eae0b Use vlc_object_set_name in some places 2009-08-23 22:27:27 +03: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 1d2ada1159 Dot not quick select mod demuxer as it is not safe (false positives). 2009-06-04 21:08:59 +02:00
Rémi Denis-Courmont b5d9e01ac6 Merge VLC_OBJECT_PACKETIZER with VLC_OBJECT_DECODER 2009-05-23 18:33:28 +03:00
Laurent Aimar 5f9ea66142 Fixed demux_vaControlHelper GET_TIME implementation.
It should return the current time even when the size isn't known.
2009-05-22 21:30:16 +02:00
David Flynn 710bd9a4a6 Reads raw dirac streams, feeds into packetizer.
Updated 20090507 with:
 - migrate to VLC_TS_INVALID
 - fix coding style
 - use generic handling of DEMUX_SET_TIME
 - don't add +1 to dts/pts
 - zero point hack while VLC_TS_INVALID = 0

Signed-off-by: David Flynn <davidf@rd.bbc.co.uk>
Signed-off-by: Laurent Aimar <fenrir@videolan.org>
2009-05-07 20:52:50 +02:00
Laurent Aimar c3334ee3b6 Be sure to set b_packetized in demux_PacketizerNew. 2009-04-30 21:01:34 +02:00
Antoine Cellerier 3528207234 Revert "Add image types."
This reverts commit 74d68fbd7a.
2009-01-17 16:14:56 +01:00
Antoine Cellerier 74d68fbd7a Add image types. 2009-01-17 15:33:16 +01:00
Rémi Denis-Courmont 4d700eb73b Add .ogx in case someone ever needs it 2009-01-11 11:40:37 +02:00
Rémi Denis-Courmont 23908eef1e Add .oga and .spx as per RFC5334 2009-01-11 11:26:44 +02:00
Rémi Denis-Courmont 9d084e66d0 Add .s3m and .it as Tracker file extensions 2009-01-11 11:26:27 +02:00
Rémi Denis-Courmont d1045229e0 Input: recognize .ogv files 2009-01-11 11:17:38 +02:00
Rémi Denis-Courmont 06e5acd4e0 Cosmetic 2009-01-11 11:17:38 +02:00
Rémi Duraffort ffbbecfb7a module_need wants pointers and boolean so give NULL and false instead of 0. 2008-12-13 17:05:14 +01:00
Laurent Aimar ccaab7a64c Split stream_demux from input/demux.c 2008-12-09 21:13:03 +01:00
Laurent Aimar 02dc7efea8 Removed useless stream_DemuxDelete.
Use stream_Delete instead.
2008-12-09 21:13:03 +01:00
Laurent Aimar 2b3f7c579b Prepare for stream filter. 2008-12-09 21:13:03 +01:00
Laurent Aimar 132b8e6f80 Allow decoder/packetizer to output meta data.
They are ignored for now.
2008-12-09 21:13:02 +01:00
Rémi Denis-Courmont 155b7890a2 Cosmetic change 2008-12-08 20:18:51 +02:00
Laurent Aimar 1e2f42cbdc Modified demux_vaControlHelper to take bitrate in an int64_t 2008-11-07 12:29:39 +01:00
Laurent Aimar e34927d31d Moved out a few defines from vlc_config.h 2008-11-01 16:24:17 +01:00
Laurent Aimar 7b28b05e51 Cosmetics. 2008-10-13 20:31:32 +02:00
Laurent Aimar ea83a25e84 Sanitize input headers (pass 4). 2008-10-13 20:22:57 +02:00
Laurent Aimar 5909127258 Sanitize input headers (pass 2). 2008-10-13 19:59:09 +02:00
Rémi Denis-Courmont e513907407 Allow unspecified demux with stream_DemuxNew(). 2008-10-11 18:18:48 +03:00
Rémi Denis-Courmont dae39fd784 Add extensions for MIDI and Creative Voice 2008-09-27 12:00:10 +03:00
Rémi Denis-Courmont acbad93b8b lower case the module_* functions 2008-09-21 14:59:23 +03:00
Laurent Aimar 8be0e1aee4 Added demux_Packetizer* helpers. 2008-09-13 13:26:24 +02:00
Rémi Denis-Courmont 974a5e4038 libvlccore: push threads cancellation down vlc_thread_create 2008-08-27 22:43:08 +03:00
Laurent Aimar aa407ea9ca Added record support at the stream_t level in core.
The record access_filter will become useless as soon as all demuxers that can
support it will be modified.
The record support is half done. I will also add es_out_t record functionnalities,
and a way to selected one of them if both are supported.
2008-08-26 23:27:56 +02:00
Pierre d'Herbemont 7979cfc5c6 input: Fix signed warnings about streams. 2008-08-13 00:57:26 +02:00
Rémi Duraffort 4ca1e8b9b7 Fix threaded function declaration. 2008-08-07 20:52:44 +02:00
Rémi Duraffort 9d65e77152 Avoid potential segfault and fix potential memleak. 2008-07-14 14:56:32 +02:00
Rémi Duraffort 57c3ecd229 Remove msg_Err about memory allocation.
Fix two potential segfaults.
Cosmetics.
2008-06-19 20:06:55 +02:00
Rémi Denis-Courmont 65340ca284 Remove VLC_OBJECT_(ACCESS|DEMUX|STREAM) types 2008-06-15 19:42:16 +03:00
Rémi Denis-Courmont d666030b23 libvlc: use vlc_common.h (libvlccore) instead of vlc/vlc.h 2008-05-31 22:10:28 +03:00
Rémi Denis-Courmont b2b9fb4c30 block_FifoNew: remove un-needed parameter 2008-05-03 20:11:28 +03:00
Rémi Denis-Courmont d1d3dc1d10 Remove I64C as well 2008-05-01 22:11:47 +03:00
Pierre d'Herbemont 57bbabb5e7 demux: Rename demux2 to demux as demux is no longer existing. 2008-04-14 02:02:23 +02:00
Pierre d'Herbemont 449fd28aaf Replace vlc_bool_t by bool, VLC_TRUE by true and VLC_FALSE by false.
This improves readability a lot and prevent us from reinventing the wheel.
2008-04-14 02:02:22 +02:00
Pierre d'Herbemont a78e273ec5 misc/objects.c: Don't rely on vlc_object_destroy() to destroy objects, but expects vlc_object_release to do it when the refcount goes to zero.
* Meaning, that when created objects gets a refcount to 1.
* Destroying is instantaneous and we don't have to poll for a few secondss or so to wait until the object's refcount reach 0.
* We now track vlc_object_t's mem leaks when libvlc_global is released (Hard error for now, so they don't get unoticed)
* We fail hard if an object is released with a refcount of 1 without being detached from its parent and its children, to make sure such cases don't go unoticed.
(make test or make check still pass after that one. VLC is known to leak one object when no module is loaded, this must be fixed).
2008-02-26 00:29:12 +00:00
Rémi Denis-Courmont 99fab9089e Don't include config.h from the headers - refs #297.
Missing some cases that I could not test.
Also ffmpeg/chroma.c is locked, so I can but leave it broken.
Fix is for the remaining modules is obvious and the issue is easy to detect.
2008-01-23 21:50:58 +00:00
Laurent Aimar 8ad686892b Skip APE tags at the start (like for id3) 2007-10-12 20:33:39 +00:00
Laurent Aimar c046c7392f Es out now takes care of settings the audio replay gain from meta data
if the demuxer has not set them.
 Added a demux2 control DEMUX_HAS_UNSUPPORTED_META.
 A demuxer should return true only when the format support extra meta
data (id3/ap2/...) but it does not read them itself. The input will then
call a "meta reader" (demuxer modifications on the way).
2007-10-08 18:30:11 +00:00
Rémi Denis-Courmont e3e9c13799 Pass content-type from access to stream 2007-10-02 16:05:13 +00:00
Rémi Denis-Courmont 528f0214d6 Switch the few var_GetString remains to var_GetNonEmptyString 2007-09-16 09:15:27 +00:00
Rémi Denis-Courmont cc3bd152f5 Remember not to include anything before vlc/vlc.h
(which includes config.h which defines the platform feature macros)
Also remember stdio, string and stdlib are included implicitly
2007-08-20 18:59:30 +00:00
Rémi Denis-Courmont 1a539b89a9 Remove dummy stream_t.pf_block 2007-07-20 20:55:02 +00:00
Rémi Denis-Courmont 40785cad48 Make stream_Peek take a const pointer as it should
(This introduces a lot of warnings)
2007-07-20 14:22:54 +00:00
Laurent Aimar a8a47dd1ba all: added support for demuxer attachment (Patch by Bernie Purcell)
Use decoder_GetInputAttachment to get attachment from a decoder module.
    You need to release the memory with vlc_input_attachment_Delete.
	Untested...

modules/playlist/* cosmetic.
2007-05-31 19:22:27 +00:00
Rémi Denis-Courmont 9025fab993 Use vlc_object_kill(). Needs triple checking.
This also seems to make the pre-existing Qt4 crash more obvious.
2007-05-19 20:03:26 +00:00
Rémi Denis-Courmont 9b6b0df36a Uuinline functions and hide stream_t (it's not used in any module anyway) 2007-04-18 18:55:19 +00:00
Rémi Denis-Courmont 6b9308c8f6 Be more DSO-friendly 2007-01-05 10:32:23 +00:00
Clément Stenac d3fe7f2879 A bit of headers cleanup
* Headers in include must contain the structures and prototypes needed
  by the plugins and should be named vlc_*.
* Headers in include/vlc must contain the structures and prototypes
  needed by external libvlc clients

* Moved and renamed some things in headers. 
   - Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
   - Removed snapshot.h (merged in vlc_vout.h)
   - Removed vlc_spu.h (merged in vlc_osd.h)
   - Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
   - Moved all internal headers to src
   - Merged vlc_video.h and video_output.h and move private things to src
   - Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
     (meta headers for use in modules, and often implying too large 
     dependencies)
* Removed some useless dependencies
* Unexported a bunch of functions and structures used only in src/
  (--> Still some work here)
* Finally made input_thread_t and input_source_t (mostly) private. 
  Added input_GetItem to fetch the input_item of an input_thread
* Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol 
  prefix

This commit has a 99% probability of breaking the build, 0.1% of killing
your cat and 0% of getting you hot chicks.
2006-11-26 14:20:34 +00:00
Rémi Denis-Courmont 89136d0144 Add a few harmless const 2006-11-06 17:58:08 +00:00
Rémi Denis-Courmont af5759ac1a Input fixes 2006-10-21 18:40:30 +00:00
Gildas Bazin 9361dd4a55 * modules/demux/mpeg/m4v.c,h264.c: fixed detection and use p_demux->b_force.
* src/misc/modules.c: only set b_force when we have b_strict.
* src/input/demux.c: add m4v and h264 extensions.
2006-10-05 22:01:01 +00:00
Felix Paul Kühne 8ab353b112 * 2nd review of /src/* \ libvlc.h (refs #438) 2006-04-01 11:27:40 +00:00
Clément Stenac 470b47fe95 String fixes in src (Refs:#438) 2006-03-28 20:29:28 +00:00
Antoine Cellerier 2cb472dba0 FSF address change. 2006-01-12 23:10:04 +00:00
Derk-Jan Hartman a5e04c86eb * UTF16 and UTF32 conversion to UTF8 for stream_ReadLine(). (fixes #304) 2005-12-10 23:47:34 +00:00
Rémi Denis-Courmont fe087a3828 Make Zorglub less unhappy 2005-07-09 06:17:09 +00:00
Rémi Denis-Courmont 85b29bdc28 Copyright fixes
(da big courmischage)
2005-07-08 18:12:44 +00:00
Clément Stenac bb745c8c00 * Prefer the playlist demuxer over the m3u one
* Change some debugging in playlist
2005-05-27 20:12:14 +00:00
Gildas Bazin f2a0cc3fb4 * src/input/demux.c: skip header id3tag in the core before loading the demux (id3tags have a tendency to mess probing).
* modules/demux/flac.c, modules/demux/mpeg/m4a.c,mpga.c: update id3tag parsing.
* modules/demux/util/id3tag.c: id3tag parsing doesn't need to skip the id3tag header anymore.
* modules/demux/util/id3.c: module removed because id3tag header skipping isn't needed anymore.
2005-04-09 11:27:23 +00:00
Clément Stenac 5f549ab8a1 Reduce the global verbosity
Change some message severities
2005-03-11 07:52:18 +00:00
Clément Stenac 01aca2cc00 *experimental* input pre-parsing support.
Won't work for many things (only those for which metadata can be gotten during initialization).

Processing is done asynchronously, use playlist_PreparseEnqueue to add an item to the queue.
2004-12-10 18:58:22 +00:00
Derk-Jan Hartman 5344ba812d * comment correction 2004-11-05 12:42:32 +00:00
Gildas Bazin 23e2a1d478 * src/input/demux.c: make sure the demux chaining layer doesn't stay stuck when stopping. 2004-10-20 13:04:05 +00:00
Gildas Bazin 3d83c3d94b * src/input/demux.c: rewrote the demuxer chaining layer using a block fifo. 2004-10-19 22:28:26 +00:00
Gildas Bazin bf0e0e611c * src/input/demux.c: gee, what a nice bug. 2004-10-01 12:37:49 +00:00
Gildas Bazin 22aae04602 * src/input/demux.c: ignore STREAM_CONTROL_ACCESS control query + coding style changes. 2004-09-02 14:27:57 +00:00
Laurent Aimar 4b1c426498 * input: send DEMUX_SET_GROUP. 2004-08-25 20:08:23 +00:00
Laurent Aimar a4385eef49 * demux: another way to break your config file, or, --demux is now taken
into acount. (to make bigben happy, being able to do :demux=dump ;)
2004-08-08 01:58:59 +00:00
Laurent Aimar 55d2561440 * demux: stream_DemuxControl: emulate seek. 2004-07-07 23:16:30 +00:00
Laurent Aimar 48ec587083 * demux.c: added new DEMUX_* queries to demux2_vaControlHelper. 2004-06-24 22:19:29 +00:00
Laurent Aimar 68d217865a * all: rework of the input. 2004-06-22 19:29:57 +00:00
Laurent Aimar 4f49b52ceb * include: removed a few deprecated functions.
* demux, access: change the prototype of access2_New/demux2_New.
 * control: implemented all INPUT_GET/SET.
 * src/input/*.c: removed old functions, move some of them.
2004-06-07 18:23:15 +00:00
Laurent Aimar 4e647fc9f0 * demux: init info field. (Not used yet). 2004-06-01 22:13:14 +00:00
Laurent Aimar 1b8e481a96 * access,demux: fixed parsing. 2004-05-30 18:11:55 +00:00
Gildas Bazin 6f2c07b9f4 * src/input/demux.c, src/misc/objects.c: demux2 has the VLC_OBJECT_DEMUX type.
* src/input/input.c: input_StopThread() sets b_die on demux2 as well.
2004-04-29 13:53:29 +00:00
Laurent Aimar 3ac57ab003 * demux: demux2_New -> try to start faster selecting the right demuxer
based to extension (others demuxers will still be probed if needed).
2004-03-19 16:27:52 +00:00
Gildas Bazin c87d50dd85 * ALL: changed the prototype of module_Need() to accept a "strict" boolean argument.
If "strict" is true and a module name is provided then module_Need() will only look for the specified module
If "strict" is false, then module_Need() will first look for the specified module and if it wasn't found, will continue with the other modules with the same "capability".
2004-03-03 20:39:53 +00:00
Laurent Aimar 90c26e7882 demux: implementation of demux2_vaControlHelper. 2004-03-03 12:01:38 +00:00
Laurent Aimar e1e8b00b68 * input: call DEMUX_GET_META and fill playlist and input infos. 2004-01-31 05:25:36 +00:00
Clément Stenac 1e67ea66dc * String review, round one
* A few coding style fixes
* Doxygenized a few functions
2004-01-25 17:16:06 +00:00
Laurent Aimar 326c1ca9bc * demux: fixed psz_path value in demux_t. 2004-01-20 14:48:37 +00:00
Gildas Bazin 3b635f61d4 * src/input/demux.c: fixed small mem leak. 2004-01-17 12:03:19 +00:00
Clément Stenac 25cd1327a6 Updated copyrights in libvlc 2004-01-06 12:02:06 +00:00
Sam Hocevar 5ca0ebcca2 * Coding style cleanup: removed tabs and trailing spaces. 2003-12-22 14:32:57 +00:00
Laurent Aimar aa2a22d86e * es_out: implement ES_OUT_SET_PCR and reset but don't use them !
* demux: added demux2_New/Delete.
2003-11-30 17:29:56 +00:00
Gildas Bazin d44f9d26ae * include/vlc_codec.h: defines decoders/encoders related structures here.
* include/vlc_video.h: new video_frame_format_t structure which defines the properties of a video frame.
* include/vlc/decoder.h: include vlc_codec.h
* src/misc/objects.c: added VLC_OBJECT_PACKETIZER and VLC_OBJECT_ENCODER object types.
* modules/stream_out/transcode.c, modules/codec/theora.c: experimental theora video encoder.
* src/input/*: some cleanup.
2003-10-08 21:01:07 +00:00
Laurent Aimar 0925ed0b72 * src/video_output/video_output.c : do not use FIND_ANYWHERE to catch
the playlist.  but use FIND_PARENT. vlc_object_find  with FIND_ANYWHERE
 use p_obj->p_vlc as a starting point  and that doesn't work as playlist
 is  detach from  vlc before  vout is  destroyed by  the decoders  (when
 shutting down)  Perhaps vlc_object_find  should be  fixing to  find the
 root object, but I'm not sure.

 * src/input/*  : move  subtitle handling  from avi  to input.  Now subs
 should works with all file types _BUT_ won't be in synch if the demuxer
 doesn't implement a _precise_ DEMUX_GET_TIME.  So only .avi, .mp4 will
 be ok. Others could works if perfectly cbr.
  Now  Subtitle  track is  only  selected  when specified  by  sub-file
 option.(auto-dectected file is always added but not selected by default)
  Btw, the code could support multiple  subs files, but I don't know how
 to pass multiple filenames, any ideas ?


 * demux/mpeg/mpga.c : play with es_out_t. I'm investigating for now so
 don't use that elsewhere.
2003-09-13 17:42:16 +00:00
Laurent Aimar ca334665d3 * input: introduce 'position', 'time', 'length', 'state' and 'rate'
object variables and begin to use pf_demux_control.
 * variables: new time type handling.
2003-09-07 22:51:11 +00:00
Laurent Aimar bb15cea212 * all: some helpers functions for pf_demux_control. 2003-08-02 16:43:59 +00:00