Commit graph

651 commits

Author SHA1 Message Date
Julien Moutte
719b797ad0 gst/mpegaudioparse/gstxingmux.c: Fix argument formats.
Original commit message from CVS:
2008-04-11  Julien Moutte  <julien@fluendo.com>

* gst/mpegaudioparse/gstxingmux.c: (generate_xing_header): Fix
argument formats.
2008-04-11 08:09:55 +00:00
Sebastian Dröge
0815b78811 Depend on GLib 2.12 and use it unconditionally as we do in other modules too already.
Original commit message from CVS:
* configure.ac:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mpeg_audio_seek_entry_free):
* gst/mpegaudioparse/gstxingmux.c: (gst_xing_seek_entry_free):
Depend on GLib 2.12 and use it unconditionally as we do in other
modules too already.
2008-04-04 19:04:20 +00:00
Sebastian Dröge
e6107e7b39 gst/mpegaudioparse/: Use GSlice for allocating the seek table entries if we compile with
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mpeg_audio_seek_entry_new), (mpeg_audio_seek_entry_free),
(gst_mp3parse_reset), (gst_mp3parse_emit_frame):
* gst/mpegaudioparse/gstxingmux.c: (gst_xing_seek_entry_new),
(gst_xing_seek_entry_free), (gst_xing_mux_finalize), (xing_reset),
(gst_xing_mux_chain):
Use GSlice for allocating the seek table entries if we compile with
GLib 2.10 or newer.
2008-04-03 15:21:50 +00:00
Wim Taymans
2336c35df2 gst/asfdemux/gstasfdemux.c: Remove some debug code.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_process_ext_stream_props):
Remove some debug code.
2008-04-01 14:39:24 +00:00
Wim Taymans
229b4f33d3 gst/asfdemux/gstasfdemux.c: Guard against division by 0 and fall back to 25/1 framerate.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_process_ext_stream_props):
Guard against division by 0 and fall back to 25/1 framerate.
2008-04-01 14:29:32 +00:00
Wim Taymans
5f2bca58b0 gst/asfdemux/gstasfdemux.c: Instead of adding a fixes 25/1 framerate to the video caps, use the average frame duratio...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream),
(gst_asf_demux_process_ext_stream_props):
Instead of adding a fixes 25/1 framerate to the video caps, use the
average frame duration in the extended properties of the video stream as
the framerate. Fixes #524346.
2008-04-01 14:00:32 +00:00
Wim Taymans
f403a0a8ad gst/realmedia/asmrules.c: make ) also a delimiter for rules.
Original commit message from CVS:
* gst/realmedia/asmrules.c: (gst_asm_scan_string), (main):
make ) also a delimiter for rules.
Skip \\ when scanning strings.
Add new testcase for these problems.
2008-03-19 11:01:25 +00:00
Sebastian Dröge
62204cad3d gst/mpegaudioparse/gstmpegaudioparse.c: Don't take the stream lock when caching events. This is not necessary and res...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event):
Don't take the stream lock when caching events. This is not necessary
and results in a deadlock when seeking with rhythmbox (but not with
totem or banshee for some reason).
2008-03-12 16:09:48 +00:00
Pizpot Gargravarr
4c646533fa gst/realmedia/rtspreal.c: Add the version field when creating the CONT chunk resulting in the Author, Comment and Cop...
Original commit message from CVS:
Patch by: Pizpot Gargravarr <pgargravarr at siriuscybernetics dot org>
* gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp):
Add the version field when creating the CONT chunk resulting in
the Author, Comment and Copyright tags not being parsed correctly.
Fixes #521459.
2008-03-10 15:17:24 +00:00
Wim Taymans
9142cfca7f gst/mpegaudioparse/gstmpegaudioparse.c: Remove trailing newlines from debug statements.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event), (gst_mp3parse_chain):
Remove trailing newlines from debug statements.
2008-03-10 15:13:10 +00:00
Sebastian Dröge
71f6199a90 Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead of dropping and leaking them.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_sink_event):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event):
Push EOS, FLUSH_STOP and NEWSEGMENT immediately instead
of dropping and leaking them.
2008-02-27 15:23:51 +00:00
Sebastian Dröge
b6529e9d60 Cache all events except EOS if we still have to send a NEWSEGMENT event. This will let TAG events be forwarded until ...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_dispose), (gst_mad_sink_event),
(gst_mad_chain):
* ext/mad/gstmad.h:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose),
(gst_mp3parse_sink_event), (gst_mp3parse_emit_frame):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Cache all events except EOS if we still have to send a NEWSEGMENT
event. This will let TAG events be forwarded until after decodebin
to an encoder for example as decodebin only links the pads
after NEWSEGMENT. Fixes bug #518933.
2008-02-27 13:18:57 +00:00
Sebastian Dröge
98577768ee gst/mpegaudioparse/gstxingmux.c: Write Xing header at the correct position in the MP3 frame for stereo files. Fixes b...
Original commit message from CVS:
* gst/mpegaudioparse/gstxingmux.c: (get_xing_offset):
Write Xing header at the correct position in the MP3 frame for
stereo files. Fixes bug #518676.
2008-02-27 12:48:41 +00:00
Thiago Sousa Santos
a07c914565 gst/mpegaudioparse/gstmpegaudioparse.*: Post channel mode and CRC as tags. Fixes bug #504493.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagoss at lcc dot ufcg dot edu dot br>
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3_channel_mode_get_type),
(mp3_type_frame_length_from_header), (gst_mp3parse_class_init),
(gst_mp3parse_reset), (gst_mp3parse_emit_frame),
(gst_mp3parse_chain):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Post channel mode and CRC as tags. Fixes bug #504493.
2008-02-22 07:11:17 +00:00
Sebastian Dröge
14926b9c60 gst/mpegaudioparse/gstmpegaudioparse.c: Try a bit harder to get valid timestamps, especially if upstream gives us one...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame), (gst_mp3parse_chain):
Try a bit harder to get valid timestamps, especially if upstream
gives us one and we are at the first frame or resyncing.
Return UNEXPECTED if we get a valid timestamp that is outside of
our configured segment. After all changes done so far this doesn't
seem to cause any regression, please test.
2008-02-22 06:25:28 +00:00
Sebastian Dröge
269a9706fc gst/asfdemux/gstasfdemux.c: If we don't have the position to seek to in our index first try to convert from TIME to B...
Original commit message from CVS:
Patch by:
Hans de Goede <j dot w dot r dot degoede at hhs dot nl>
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event):
If we don't have the position to seek to in our index first try
to convert from TIME to BYTES upstream and only if that fails
too use the old hack to simply seek to an earlier position
and let the sink drop everything before segment start.
Partially fixes bug #469930.
2008-02-22 06:19:41 +00:00
Sebastian Dröge
2a179a3b1a gst/mpegaudioparse/gstmpegaudioparse.c: Handler buffers without valid timestamp more correctly: Don't drop them and d...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame):
Handler buffers without valid timestamp more correctly: Don't drop
them and don't use the invalid timestamp to calculate the next
timestamp. Fixes bug #516811.
2008-02-18 10:25:16 +00:00
Jan Schmidt
a739f67bc2 gst/mpegaudioparse/gstmpegaudioparse.c: Revert previous commit to mp3parse, as it breaks playback of AVI files.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
Revert previous commit to mp3parse, as it breaks playback
of AVI files.
2008-02-17 18:49:30 +00:00
Sebastian Dröge
451f53d7de gst/mpegaudioparse/gstmpegaudioparse.c: Return GST_FLOW_UNEXPECTED if we get data that is after our configured segmen...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame):
Return GST_FLOW_UNEXPECTED if we get data that is after our
configured segment. This makes upstream go EOS immediately instead
of sending us the complete stream. Also improve debugging a bit.
2008-02-14 13:58:42 +00:00
Sebastian Dröge
04053f146f gst/dvdsub/gstdvdsubparse.c: Stop leaking src pad templates. Fixes bug #515708.
Original commit message from CVS:
* gst/dvdsub/gstdvdsubparse.c: (gst_dvd_sub_parse_init):
Stop leaking src pad templates. Fixes bug #515708.
2008-02-11 13:31:06 +00:00
Sebastian Dröge
17a6a7417c gst/mpegaudioparse/gstxingmux.c: Correctly write the size in bytes on big endian systems.
Original commit message from CVS:
* gst/mpegaudioparse/gstxingmux.c: (generate_xing_header):
Correctly write the size in bytes on big endian systems.
Fixes bug #515725.
2008-02-11 13:29:07 +00:00
Jan Schmidt
1e3d3da4a4 gst/mpegaudioparse/plugin.c: Commit new file I forgot to add.
Original commit message from CVS:
* gst/mpegaudioparse/plugin.c:
Commit new file I forgot to add.
2008-02-08 10:17:11 +00:00
Jan Schmidt
18df8e3250 Move xingmux from -bad.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* docs/plugins/inspect/plugin-mpegaudioparse.xml:
* gst/mpegaudioparse/Makefile.am:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/mpegaudioparse/gstxingmux.c:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
Move xingmux from -bad.
2008-02-08 00:36:51 +00:00
Sébastien Moutte
c29660156f gst/mpegaudioparse/gstmpegaudioparse.c: Use gst_guint64_to_gdouble for conversion
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:(mp3parse_time_to_bytepos):
Use gst_guint64_to_gdouble for conversion
* win32/vs6/libgstasfdemux.dsp:
* win32/vs6/libgstdvdsub.dsp:
* win32/vs6/libgstrealmedia.dsp:
Update project dependencies and add new source files
2008-02-07 19:25:08 +00:00
Sebastian Dröge
0679293a71 gst/mpegaudioparse/gstmpegaudioparse.c: Don't set new caps on the srcpad everytime the bitrate or MPEG version change...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create),
(gst_mp3parse_chain):
Don't set new caps on the srcpad everytime the bitrate or MPEG
version changes but calculate new spf value when the MPEG version
changes.
2008-01-29 19:10:38 +00:00
Sebastian Dröge
bb56fbeed4 Add documentation for the xingheader plugin.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* gst/xingheader/gstxingmux.c:
* gst/xingheader/gstxingmux.h:
Add documentation for the xingheader plugin.
* tests/check/elements/xingmux.c: (GST_START_TEST):
Set element state to PLAYING before doing something else.
2008-01-23 10:34:40 +00:00
Sebastian Dröge
79031308ad tests/check/: Add simple unit test for the xingmux element.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/xingmux.c: (setup_xingmux),
(cleanup_xingmux), (GST_START_TEST), (xingmux_suite), (main):
* tests/check/elements/xingmux_testdata.h:
Add simple unit test for the xingmux element.
* gst/xingheader/gstxingmux.c: (generate_xing_header),
(gst_xing_mux_finalize), (xing_reset):
Fix a memleak and invalid seek tables with less than 100 MP3 frames.
2008-01-23 10:11:44 +00:00
Stefan Kost
4231e2f7c2 docs/plugins/: Add the real and rtsp elements and update the lists.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
Add the real and rtsp elements and update the lists.
* docs/plugins/inspect/plugin-amrnb.xml:
* docs/plugins/inspect/plugin-asf.xml:
* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
* docs/plugins/inspect/plugin-dvdsub.xml:
* docs/plugins/inspect/plugin-mpegaudioparse.xml:
* docs/plugins/inspect/plugin-mpegstream.xml:
* docs/plugins/inspect/plugin-realmedia.xml:
* docs/plugins/inspect/plugin-siddec.xml:
* docs/plugins/inspect/plugin-synaesthesia.xml:
Regenerate docs.
* gst/iec958/ac3_padder.c:
* gst/iec958/ac3_padder.h:
Do not use gtk-doc style comments for non gtk-doc comments. Note -
there are functions defined using extern in the .c file - does that
make sense?
2008-01-21 13:35:02 +00:00
Sebastian Dröge
eecdae5af2 gst/mpegaudioparse/gstmpegaudioparse.c: Interpolate the VBRI seek table entries to get better results, support 3 byte...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time):
Interpolate the VBRI seek table entries to get better results,
support 3 byte seek table entries and prevent overflows in the
seek table by adding the relative offsets when using the seek
table in a large enough data type.
2008-01-15 17:18:31 +00:00
Sebastian Dröge
7b5d4c287e gst/mpegaudioparse/gstmpegaudioparse.*: Add support for seeking based on the VBRI seek table. Might make sense to use...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Add support for seeking based on the VBRI seek table. Might make
sense to use interpolation in the table later to get hopefully a
bit more accurate values.
2008-01-14 15:02:13 +00:00
Sebastian Dröge
790c1041e5 gst/xingheader/gstxingmux.c: Bitrate is 4 bits, not 8 so check for 0xe as maximum value instead of 0xfe.
Original commit message from CVS:
* gst/xingheader/gstxingmux.c: (generate_xing_header):
Bitrate is 4 bits, not 8 so check for 0xe as maximum value instead
of 0xfe.
2008-01-14 10:52:20 +00:00
Sebastian Dröge
be2f3d1d99 gst/mpegaudioparse/gstmpegaudioparse.*: Add initial support for reading VBRI headers as found in VBR files created by...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame),
(mp3parse_total_bytes), (mp3parse_total_time):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Add initial support for reading VBRI headers as found in VBR files
created by some Fraunhofer encoders. Currently we only read the
number of frames and bytes (and calculate duration, etc from this)
but there is also a seek table that we currently don't use.
2008-01-14 10:42:48 +00:00
Sebastian Dröge
1db9aa8d23 gst/mpegaudioparse/gstmpegaudioparse.c: Guard against 0 values in the Xing header as frame count and byte count and c...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame):
Guard against 0 values in the Xing header as frame count and
byte count and calculate the bitrate when we have all values
we need and not before.
2008-01-14 09:13:29 +00:00
Sebastian Dröge
ec9cf651e2 gst/xingheader/gstxingmux.c: Remove accidentially leftover debug printf.
Original commit message from CVS:
* gst/xingheader/gstxingmux.c: (generate_xing_header):
Remove accidentially leftover debug printf.
2008-01-14 09:09:49 +00:00
Sebastian Dröge
20894aeda7 gst/xingheader/gstxingmux.c: Choose smallest possible frame size for the Xing header, properly set the timestamp, dur...
Original commit message from CVS:
* gst/xingheader/gstxingmux.c: (has_xing_header),
(generate_xing_header), (gst_xing_mux_chain),
(gst_xing_mux_sink_event):
Choose smallest possible frame size for the Xing header, properly
set the timestamp, duration and offset on the outgoing buffers,
only send NEWSEGMENT events in BYTE format downstream and also
drop VBRI headers if already existing.
2008-01-14 08:56:31 +00:00
Sebastian Dröge
50619d5741 gst/xingheader/: Major cleanup and rewrite of xingmux with less bugs and new features:
Original commit message from CVS:
* gst/xingheader/Makefile.am:
* gst/xingheader/gstxingmux.c: (parse_header), (get_xing_offset),
(has_xing_header), (generate_xing_header),
(gst_xing_mux_base_init), (gst_xing_mux_finalize), (xing_reset),
(gst_xing_mux_init), (gst_xing_mux_chain),
(gst_xing_mux_sink_event), (gst_xing_mux_change_state):
* gst/xingheader/gstxingmux.h:
Major cleanup and rewrite of xingmux with less bugs and new features:
- Handles other layers as 3
- Write TOC
2008-01-12 09:22:06 +00:00
Sebastian Dröge
d7f415e09f Make sure that the Xing TOC starts with 0 and the entries are increasing over time. Otherwise it's broken and should ...
Original commit message from CVS:
* ext/mad/gstmad.c: (mpg123_parse_xing_header):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame):
Make sure that the Xing TOC starts with 0 and the entries
are increasing over time. Otherwise it's broken and should
be skipped. Fixes bug #507821.
2008-01-08 19:42:38 +00:00
Tim-Philipp Müller
49cdce158d gst/asfdemux/gstasfdemux.*: Parse metadata object and extract pixel aspect ratio. Fixes #507844.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (asfdemux_dbg), (gst_asf_demux_reset),
(gst_asf_demux_add_video_stream),
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_get_metadata_for_stream),
(gst_asf_demux_process_metadata), (gst_asf_demux_process_object),
(gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Parse metadata object and extract pixel aspect ratio. Fixes #507844.
2008-01-08 16:31:29 +00:00
Wim Taymans
2ea2d25c52 gst/realmedia/rdtmanager.*: Implement some more signals that rtspsrc connects to.
Original commit message from CVS:
* gst/realmedia/rdtmanager.c:
(gst_rdt_manager_marshal_VOID__UINT_UINT),
(gst_rdt_manager_class_init):
* gst/realmedia/rdtmanager.h:
Implement some more signals that rtspsrc connects to.
Fixes #504671.
2007-12-21 14:01:06 +00:00
Sebastian Dröge
2e915caedb gst/mpegaudioparse/gstmpegaudioparse.c: Don't post SEGMENT_START messages on the bus, only the element driving the pi...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event), (mp3parse_handle_seek):
Don't post SEGMENT_START messages on the bus, only the element
driving the pipeline should do that.
2007-12-13 11:20:11 +00:00
Julien Moutte
dd1a0cc305 gst/realmedia/rtspreal.c: Fix build on Mac OS X.
Original commit message from CVS:
2007-11-20  Julien MOUTTE  <julien@moutte.net>

* gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp): Fix build
on Mac OS X.
2007-11-20 12:15:51 +00:00
Jan Schmidt
a71b8048bc gst/mpegaudioparse/gstmpegaudioparse.c: Restore the segment handling logic.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
Restore the segment handling logic.
Please don't do behavioural changes under the heading of 'leak fixes'
or 'whitespace changes', people.
2007-11-19 11:38:49 +00:00
Stefan Kost
b4cde6fa14 gst/mpegaudioparse/gstmpegaudioparse.c: Plug some leaks.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
Plug some leaks.
2007-11-19 09:50:58 +00:00
Stefan Kost
fcc7538113 gst/asfdemux/gstasfdemux.c: Sync _activate_pull() a little more with other demuxers.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
Sync _activate_pull() a little more with other demuxers.
2007-11-13 06:57:57 +00:00
Thijs Vermeir
4cbb91cb02 gst/mpegstream/gstmpegdemux.c: recognize the padding stream
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c:
recognize the padding stream
2007-11-11 20:41:32 +00:00
Tim-Philipp Müller
db4e736086 gst/asfdemux/gstasfdemux.c: Convert tags that come as string into the type required by
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_ext_content_desc):
Convert tags that come as string into the type required by
GstTagList.
2007-10-31 14:33:03 +00:00
Wim Taymans
5bfb6579b8 gst/mpegaudioparse/gstmpegaudioparse.c: Remove some more broken code, it seems to clip even when it should not.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame):
Remove some more broken code, it seems to clip even when it should not.
See #491305.
2007-10-30 12:27:32 +00:00
Wim Taymans
2b5d45e3f6 gst/mpegaudioparse/gstmpegaudioparse.c: When the element is not driving the streaming thread it is not supposed to em...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame):
When the element is not driving the streaming thread it is not supposed
to emit EOS or post SEGMENT done. It is allowed to return UNEXPECTED
upstream when it detects EOS. See #491305.
2007-10-30 11:13:49 +00:00
Mark Nauwelaerts
5c5d85f8cc gst/dvdsub/: Add dvd subtitle parser, which just packetizes the input stream. This is needed to mux dvd subtitles int...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <mnauw at users.sourceforge.net>
* gst/dvdsub/Makefile.am:
* gst/dvdsub/gstdvdsubdec.c:
* gst/dvdsub/gstdvdsubparse.c:
* gst/dvdsub/gstdvdsubparse.h:
Add dvd subtitle parser, which just packetizes the input
stream. This is needed to mux dvd subtitles into matroska
files, since the muxer expects unfragmented and properly
timestamped input (#415754).
2007-10-13 15:13:34 +00:00
Jan Schmidt
14598caba9 gst/realmedia/: Fix some compiler warnings shown on Forte.
Original commit message from CVS:
* gst/realmedia/asmrules.c: (gst_asm_scan_parse_expression),
(gst_asm_scan_parse_condition):
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
Fix some compiler warnings shown on Forte.
2007-10-08 17:51:33 +00:00
Gautier Portet
97b57bd604 gst/xingheader/gstxingmux.c: The size of the Xing header is actually 417 as it's rounded to the next smaller integer....
Original commit message from CVS:
Patch by: Gautier Portet <kassoulet at gmail dot com>
* gst/xingheader/gstxingmux.c:
The size of the Xing header is actually 417 as it's rounded to the
next smaller integer. Fixes #397759.
* gst/xingheader/gstxingmux.c: (xing_generate_header),
(xing_push_header):
Some random cleanup, add FIXMEs and TODOs and check if the newsegment
event to the beginning was successful before pushing the header again.
2007-10-05 08:51:44 +00:00
Sébastien Moutte
2add92153f gst/mpegaudioparse/gstmpegaudioparse.c: Use gst_util_guint64_to_gdouble for conversions.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time):
Use gst_util_guint64_to_gdouble for conversions.
* win32/vs6/libgstmad.dsp:
Add a link to libgstaudio.
2007-09-29 17:11:16 +00:00
Stefan Kost
2c13636c7c gst/iec958/ac3iec.c: Chainup in finalize.
Original commit message from CVS:
* gst/iec958/ac3iec.c:
Chainup in finalize.
* tests/check/Makefile.am:
* tests/check/generic/states.c:
Improved state change unit test.
2007-09-20 11:47:52 +00:00
Jan Schmidt
cf06fbf1b7 gst/dvdlpcmdec/gstdvdlpcmdec.c: Add other allowed rates to the pad templates.
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
Add other allowed rates to the pad templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose):
Reset the parser to release memory in dispose.
2007-08-24 15:55:03 +00:00
Stefan Kost
e37bf5005f gst/realmedia/asmrules.c: Make ro memory to share.
Original commit message from CVS:
* gst/realmedia/asmrules.c:
Make ro memory to share.
2007-08-16 12:15:32 +00:00
Wim Taymans
5b39e551b1 gst/mpegaudioparse/gstmpegaudioparse.*: Queue segment event and push it after we know the caps on the pad or else an ...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event), (gst_mp3parse_emit_frame):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Queue segment event and push it after we know the caps on the pad or
else an autoplugger might not have plugged the element yet and the
segment is lost.
2007-08-16 11:52:57 +00:00
Stefan Kost
681dbdf9a3 gst/iec958/ac3iec.c: Fix tests.
Original commit message from CVS:
* gst/iec958/ac3iec.c:
Fix tests.
2007-08-16 07:17:13 +00:00
Wim Taymans
3c5037ae3f gst/realmedia/rmdemux.c: Activate timestamp fixing code.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_fix_timestamp),
(gst_rmdemux_parse_video_packet):
Activate timestamp fixing code.
2007-08-07 11:50:44 +00:00
Wim Taymans
38dd0ad82b gst/realmedia/rmdemux.c: Do fragment collection in the demuxer so that we can now work with both ffmpeg and realvideo...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_reset),
(gst_rmdemux_chain), (gst_rmdemux_parse_mdpr),
(gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet),
(gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet):
Do fragment collection in the demuxer so that we can now work with
both ffmpeg and realvideodec to decoder real video content.
2007-08-07 10:57:09 +00:00
Stefan Kost
eeb7697ba2 gst/realmedia/asmrules.c: Include stdlib.h.
Original commit message from CVS:
* gst/realmedia/asmrules.c:
Include stdlib.h.
2007-08-04 12:59:24 +00:00
Wim Taymans
21aee33ad7 gst/realmedia/rdtmanager.c: Fix caps.
Original commit message from CVS:
* gst/realmedia/rdtmanager.c:
Fix caps.
2007-08-03 16:21:19 +00:00
Wim Taymans
646186fc70 gst/realmedia/rtspreal.c: Disable UDP transport for now.
Original commit message from CVS:
* gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
(rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select):
Disable UDP transport for now.
2007-08-03 16:11:09 +00:00
Wim Taymans
2d5433b591 gst/realmedia/: Add simple rdt manager.
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/rdtmanager.c: (find_session_by_id),
(create_session), (free_session), (gst_rdt_manager_base_init),
(gst_rdt_manager_marshal_BOXED__UINT_UINT),
(gst_rdt_manager_class_init), (gst_rdt_manager_init),
(gst_rdt_manager_finalize), (gst_rdt_manager_query_src),
(gst_rdt_manager_chain_rtp), (gst_rdt_manager_chain_rtcp),
(gst_rdt_manager_set_property), (gst_rdt_manager_get_property),
(gst_rdt_manager_provide_clock), (gst_rdt_manager_change_state),
(create_recv_rtp), (create_recv_rtcp), (create_rtcp),
(gst_rdt_manager_request_new_pad), (gst_rdt_manager_release_pad),
(gst_rdt_manager_plugin_init):
* gst/realmedia/rdtmanager.h:
* gst/realmedia/rmdemux.c: (plugin_init):
Add simple rdt manager.
2007-08-03 16:09:01 +00:00
Wim Taymans
81535d42bd gst/realmedia/rdtdepay.c: Fix the encoding-name so that it matches what the rtsp extension sets.
Original commit message from CVS:
* gst/realmedia/rdtdepay.c:
Fix the encoding-name so that it matches what the rtsp extension sets.
2007-08-03 14:19:50 +00:00
Wim Taymans
b3b467efbe gst/realmedia/: Use g_hash_table_destroy instead of _unref which is too new.
Original commit message from CVS:
* gst/realmedia/asmrules.c: (gst_asm_node_free),
(gst_asm_node_evaluate), (gst_asm_scan_new), (gst_asm_scan_free),
(gst_asm_scan_string), (gst_asm_scan_number),
(gst_asm_scan_identifier), (gst_asm_scan_print_token),
(gst_asm_scan_next_token), (gst_asm_rule_free),
(gst_asm_rule_add_property), (gst_asm_scan_parse_operand),
(gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition),
(gst_asm_scan_parse_property), (gst_asm_scan_parse_rule),
(gst_asm_rule_evaluate), (gst_asm_rule_book_new),
(gst_asm_rule_book_n_rules), (gst_asm_rule_book_free),
(gst_asm_rule_book_match), (main):
* gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp),
(rtsp_ext_real_stream_select), (gst_rtsp_real_plugin_init):
Use g_hash_table_destroy instead of _unref which is too new.
2007-08-02 19:37:41 +00:00
Wim Taymans
04424d07ef gst/realmedia/.cvsignore: Add test to ignore.
Original commit message from CVS:
* gst/realmedia/.cvsignore:
Add test to ignore.
* gst/realmedia/Makefile.am:
* gst/realmedia/asmrules.c: (gst_asm_node_new),
(gst_asm_node_free), (gst_asm_operator_eval),
(gst_asm_node_evaluate), (gst_asm_scan_new), (gst_asm_scan_free),
(gst_asm_scan_string), (gst_asm_scan_number),
(gst_asm_scan_identifier), (gst_asm_scan_print_token),
(gst_asm_scan_next_token), (gst_asm_rule_new), (gst_asm_rule_free),
(gst_asm_rule_add_property), (gst_asm_scan_parse_operand),
(gst_asm_scan_parse_expression), (gst_asm_scan_parse_condition),
(gst_asm_scan_parse_property), (gst_asm_scan_parse_rule),
(gst_asm_rule_evaluate), (gst_asm_rule_book_new),
(gst_asm_rule_book_n_rules), (gst_asm_rule_book_free),
(gst_asm_rule_book_match), (main):
* gst/realmedia/asmrules.h:
Added asembler rule book parser and evaluator.
* gst/realmedia/rtspreal.c: (rtsp_ext_real_parse_sdp),
(rtsp_ext_real_stream_select), (gst_rtsp_real_plugin_init):
* gst/realmedia/rtspreal.h:
Keep per stream config info.
Parse and evaluate asm rule books for stream selection.
2007-08-02 19:30:05 +00:00
Stefan Kost
5ef116fd1f gst/realmedia/rtspreal.c: Include stdlib.
Original commit message from CVS:
* gst/realmedia/rtspreal.c:
Include stdlib.
2007-07-31 19:16:44 +00:00
Wim Taymans
068185d02a gst/realmedia/: Split out hash code in separate file.
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/realhash.c: (hash), (call_hash),
(gst_rtsp_ext_real_calc_response_and_checksum):
* gst/realmedia/realhash.h:
* gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
(rtsp_ext_real_after_send), (rtsp_ext_real_stream_select):
Split out hash code in separate file.
2007-07-27 16:39:45 +00:00
Wim Taymans
c8bd2c02a3 gst/: Fix include paths and link dependecies for rtsp extension.
Original commit message from CVS:
* gst/asfdemux/Makefile.am:
* gst/asfdemux/gstrtspwms.c: (gst_rtsp_wms_parse_sdp), (_do_init),
(gst_rtsp_wms_class_init):
* gst/realmedia/Makefile.am:
* gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
(rtsp_ext_real_before_send), (rtsp_ext_real_after_send),
(rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select),
(_do_init), (gst_rtsp_real_class_init):
Fix include paths and link dependecies for rtsp extension.
2007-07-27 10:12:55 +00:00
Wim Taymans
743ea433bd gst/realmedia/: Add RealMedia RTSP extension module. It has rank NONE until it is fully functional.
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/rmdemux.c: (plugin_init):
* gst/realmedia/rtspreal.c: (rtsp_ext_real_get_transports),
(rtsp_ext_real_before_send), (rtsp_ext_real_after_send), (hash),
(call_hash), (rtsp_ext_real_calc_response_and_checksum),
(rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select),
(_do_init), (gst_rtsp_real_base_init), (gst_rtsp_real_class_init),
(gst_rtsp_real_init), (gst_rtsp_real_finalize),
(gst_rtsp_real_change_state), (gst_rtsp_real_extension_init),
(gst_rtsp_real_plugin_init):
* gst/realmedia/rtspreal.h:
Add RealMedia RTSP extension module. It has rank NONE until it is fully
functional.
2007-07-26 15:52:43 +00:00
Wim Taymans
3544cb1ab5 gst/asfdemux/: Move WMS RTSP extension from -good to here.
Original commit message from CVS:
* gst/asfdemux/Makefile.am:
* gst/asfdemux/gstasf.c: (plugin_init):
* gst/asfdemux/gstrtspwms.c: (gst_rtsp_wms_before_send),
(gst_rtsp_wms_after_send), (gst_rtsp_wms_parse_sdp),
(gst_rtsp_wms_configure_stream), (_do_init),
(gst_rtsp_wms_base_init), (gst_rtsp_wms_class_init),
(gst_rtsp_wms_init), (gst_rtsp_wms_finalize),
(gst_rtsp_wms_change_state), (gst_rtsp_wms_extension_init):
* gst/asfdemux/gstrtspwms.h:
Move WMS RTSP extension from -good to here.
Port it to the new pluggable extension interface.
2007-07-25 18:38:42 +00:00
Stefan Kost
9a0f69623b configure.ac: Sync liboil check with plugins-base. Add libm check.
Original commit message from CVS:
* configure.ac:
Sync liboil check with plugins-base. Add libm check.
* gst/synaesthesia/Makefile.am:
Link against libm. We're using sqrt here.
2007-07-23 09:07:19 +00:00
Stefan Kost
1c87647aa0 gst/asfdemux/gstasfdemux.c: Include stdlib.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
Include stdlib.
2007-07-20 07:58:25 +00:00
Sebastian Dröge
d1e3a616ca gst/mpegaudioparse/gstmpegaudioparse.*: Save some memory for each frame by only saving the start timestamp and start ...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_emit_frame), (mp3parse_handle_seek):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Save some memory for each frame by only saving the start timestamp
and start byte position instead of additionally the stop timestamp
and stop byte position. This requires us to use a doubly-linked list
but still saves 8-12 bytes per frame.
2007-07-18 17:51:55 +00:00
Jan Schmidt
4039063c80 gst/mpegaudioparse/gstmpegaudioparse.c: Fix a calculation that was causing mp3parse to drop every incoming frame when...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame):
Fix a calculation that was causing mp3parse to drop every incoming
frame when upstream delivered a segment in TIME format, breaking
playback of all mpeg system streams.
2007-07-15 19:39:46 +00:00
Sebastian Dröge
712a416ecd gst/mpegaudioparse/gstmpegaudioparse.*: Implement accurate seeking in mpegaudioparse. Fixes #308312.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_init), (gst_mp3parse_dispose),
(gst_mp3parse_sink_event), (mp3parse_seek_table_last_entry),
(gst_mp3parse_emit_frame), (gst_mp3parse_chain),
(mp3parse_handle_seek), (mp3parse_src_query):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement accurate seeking in mpegaudioparse. Fixes #308312.
Also implement segment seeks.
2007-07-13 16:27:56 +00:00
Tim-Philipp Müller
0e2c8a042f Fix build against core CVS by not using deprecated API. Bump requirements for new API (overdue anyway).
Original commit message from CVS:
* configure.ac:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
Fix build against core CVS by not using deprecated API. Bump
requirements for new API (overdue anyway).
2007-07-11 23:18:14 +00:00
Stefan Kost
2c006cfccc And yet more docs enabled.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* gst/synaesthesia/Makefile.am:
* gst/synaesthesia/gstsynaesthesia.c:
* gst/synaesthesia/gstsynaesthesia.h:
And yet more docs enabled.
2007-07-03 13:05:01 +00:00
Sebastian Dröge
376b414679 gst/mpegaudioparse/gstmpegaudioparse.c: Use GST_BOILERPLATE instead of manual GType magic.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_base_init),
(gst_mp3parse_init):
Use GST_BOILERPLATE instead of manual GType magic.
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement seeking, byte->time, time->byte conversions with the Xing
seek table if available. This allows better at least a bit more
accurate seeks and file position reporting.
2007-07-01 19:12:32 +00:00
Sebastian Dröge
79cfc89c8f gst/mpegaudioparse/gstmpegaudioparse.c: Copy the complete Xing seek table in the 100 byte array instead of copying th...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame):
Copy the complete Xing seek table in the 100 byte array instead of
copying the first byte 100 times.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_total_bytes),
(mp3parse_total_time), (mp3parse_time_to_bytepos):
Add seeking support based on the Xing header but comment it out for
now as it seems to yield worse result than the other method.
Also use gst_pad_query_peer_duration() instead of getting the peer pad
ourself, creating a new GstQuery, etc.
2007-06-28 20:33:51 +00:00
Edward Hervey
f4f98ea80b Fix leaks some more.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_init):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_init):
* gst/asfdemux/gstasfmux.c: (gst_asfmux_init):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_init):
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_init):
* gst/iec958/ac3iec.c: (ac3iec_init):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_init):
Fix leaks some more.
2007-06-22 10:57:06 +00:00
Edward Hervey
33e97185f5 gst/mpegaudioparse/gstmpegaudioparse.c: "She's leaking me", said valgrind.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init):
"She's leaking me", said valgrind.
2007-06-21 14:33:58 +00:00
Jan Schmidt
b18aa04605 gst/mpegaudioparse/gstmpegaudioparse.c: Fix "pad caps are not a real subset of its template caps" warning.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create):
Fix "pad caps are not a real subset of its template caps" warning.
2007-06-19 14:40:20 +00:00
Sébastien Moutte
5f0d42cbb5 gst/dvdsub/gstdvdsubdec.c: Use gst_util_guint64_to_gdouble for conversion.
Original commit message from CVS:
* gst/dvdsub/gstdvdsubdec.c:(gst_dvd_sub_dec_parse_subpic):
Use gst_util_guint64_to_gdouble for conversion.
* win32/vs6/libgstasfdemux.dsp:
Add asfpacket.c to the build.
2007-06-12 21:46:10 +00:00
Jan Schmidt
f66de5cf88 gst/mpegaudioparse/gstmpegaudioparse.*: If the Xing header provides a total time, use it to calculate the correct ave...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame):
* gst/mpegaudioparse/gstmpegaudioparse.h:
If the Xing header provides a total time, use it to calculate the
correct average bitrate immediately, instead of sending updates as
we parse the stream.
2007-06-08 08:39:43 +00:00
by Mark Nauwelaerts
2969f0a29c gst/dvdsub/gstdvdsubdec.c: Use GstClockTime instead of guint for a time variable to prevent overflows on too large su...
Original commit message from CVS:
Patch by by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
Use GstClockTime instead of guint for a time variable to prevent
overflows on too large subtitle durations. Fixes #444514.
2007-06-05 21:47:29 +00:00
Mark Nauwelaerts
1aa6c129e3 gst/dvdsub/gstdvdsubdec.c: Clear state when handling the serialized FLUSH_STOP event instead of the FLUSH_START event...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_sink_event):
Clear state when handling the serialized FLUSH_STOP event instead of
the FLUSH_START event, thereby making sure we don't free buffers the
chain function is still using. Fixes dvdsubdec crashing when flusing
or seeking (#442706).
2007-05-31 22:33:26 +00:00
Tim-Philipp Müller
a570f40d46 gst/mpegaudioparse/gstmpegaudioparse.c: Initialise variable to make fc4 build bot happy.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Initialise variable to make fc4 build bot happy.
2007-05-23 11:16:09 +00:00
Tim-Philipp Müller
527665dd95 gst/mpegstream/gstmpegdemux.c: Add sanity check so we don't abort for broken or non-MPEG streams, but instead error o...
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
Add sanity check so we don't abort for broken or non-MPEG streams,
but instead error out. Fixes crashes/aborts for when our typefinder
wrongly identifies quicktime files as mpeg (which should be fixed in
-base now too). (#440120).
2007-05-21 15:11:45 +00:00
Jan Schmidt
c145813ad3 gst/mpegaudioparse/gstmpegaudioparse.*: Implement parsing of Xing headers from the first frame of the stream, and use...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (gst_mp3parse_reset),
(gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame),
(gst_mp3parse_chain), (mp3parse_total_bytes),
(mp3parse_total_time):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement parsing of Xing headers from the first frame of the stream,
and use it to report duration correctly where possible.
2007-05-18 08:42:25 +00:00
Tim-Philipp Müller
897f7039f8 gst/realmedia/rmdemux.c: After descrambling, push the packets out as individual packets instead of one big descramble...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_cook_audio):
After descrambling, push the packets out as individual packets
instead of one big descrambled buffer. Makes cook audio decoding
work with the 'realaudiodec' decoder from gst-plugins-bad.
2007-05-16 19:15:13 +00:00
Tim-Philipp Müller
286a2c0edb gst/realmedia/rmdemux.*: Remember first timestamp encountered in stream and re-timestamp stream to start from zero (f...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_init),
(gst_rmdemux_sink_event), (gst_rmdemux_perform_seek),
(gst_rmdemux_reset), (gst_rmdemux_chain), (gst_rmdemux_add_stream),
(gst_rmdemux_parse_packet):
* gst/realmedia/rmdemux.h:
Remember first timestamp encountered in stream and re-timestamp
stream to start from zero (fixes #397219); only send one newsegment
event, not two; when seeking, send newsegment events from the
streaming thread and not from the seeking thread.
2007-05-16 19:07:45 +00:00
Mark Nauwelaerts
971b4e3614 gst/mpegstream/: Reset last_flow values for the various streams after a flushing seek, otherwise we might aggregate w...
Original commit message from CVS:
Based on patch by: Mark Nauwelaerts  <manauw skynet be>
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
(gst_mpeg_demux_process_event), (gst_mpeg_streams_reset_last_flow):
* gst/mpegstream/gstmpegdemux.h:
Reset last_flow values for the various streams after a flushing
seek, otherwise we might aggregate wrong flow returns afterwards
that will make upstream pause silently. This should fix seeking
in DVDs and also fix the Thoggen cropping dialog (#438610).
2007-05-16 12:48:43 +00:00
Tim-Philipp Müller
08c63b6800 gst/asfdemux/gstasfdemux.*: Activate streams (ie. add the pads to the element) depending on whether we actually get d...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset),
(gst_asf_demux_chain_headers),
(gst_asf_demux_parse_data_object_start), (all_streams_prerolled),
(gst_asf_demux_have_mutually_exclusive_active_stream),
(gst_asf_demux_check_activate_streams),
(gst_asf_demux_find_stream_with_complete_payload),
(gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop),
(gst_asf_demux_activate_ext_props_streams),
(gst_asf_demux_process_object):
* gst/asfdemux/gstasfdemux.h:
Activate streams (ie. add the pads to the element) depending on
whether we actually get data for those streams within the ASF
preroll value specified. Currently only done in pull-mode though
(this will fix problems with playbin hanging on mms streams once
we use this in push-mode as well).
2007-05-07 13:51:43 +00:00
Tim-Philipp Müller
f7abd8bbc8 gst/asfdemux/: Make all timestamps start from zero in pull-mode too; some small clean-ups and FIXMEs here and there.
Original commit message from CVS:
* gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset),
(gst_asf_demux_init), (gst_asf_demux_push_complete_payloads),
(gst_asf_demux_process_file):
* gst/asfdemux/gstasfdemux.h:
Make all timestamps start from zero in pull-mode too; some small
clean-ups and FIXMEs here and there.
2007-05-04 11:04:16 +00:00
Tim-Philipp Müller
c2784b4ca8 gst/asfdemux/asfpacket.c: If packet size is specified within the packet and smaller than the actual packet size, don'...
Original commit message from CVS:
* gst/asfdemux/asfpacket.c: (gst_asf_demux_parse_payload),
(gst_asf_demux_parse_packet):
If packet size is specified within the packet and smaller than
the actual packet size, don't parse beyond the size specified in
the packet (this makes us parse some cases of packets with single
compressed payloads cleanly, see e.g stream from #431318). Also
add a sanity check when parsing compressed single payloads.
2007-05-01 11:10:31 +00:00
Tim-Philipp Müller
279b2b0290 gst/asfdemux/: Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only send data from the keyframe ri...
Original commit message from CVS:
* gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_seek_index_lookup),
(gst_asf_demux_handle_seek_event),
(gst_asf_demux_push_complete_payloads):
Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only
send data from the keyframe right before the new segment start to
make sure the decoder doesn't have to decode more than absolutely
necessary.
2007-05-01 09:19:13 +00:00
Tim-Philipp Müller
b46ece6980 gst/asfdemux/: Implement payload extension system/extended replicated data parsing, so we can extract payload duratio...
Original commit message from CVS:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/asfpacket.c:
(asf_payload_parse_replicated_data_extensions),
(gst_asf_demux_parse_payload):
* gst/asfdemux/asfpacket.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
(gst_asf_demux_push_complete_payloads),
(gst_asf_demux_process_ext_stream_props):
* gst/asfdemux/gstasfdemux.h:
Implement payload extension system/extended replicated data parsing,
so we can extract payload durations if they're specified.
2007-04-30 15:36:00 +00:00
Tim-Philipp Müller
850c0fbab8 gst/asfdemux/: Refactor stream parse/activation a bit (stream activation heuristics are still the same though); some ...
Original commit message from CVS:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
(gst_asf_demux_reset), (gst_asf_demux_parse_data_object_start),
(gst_asf_demux_loop), (gst_asf_demux_setup_pad),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_activate_stream),
(gst_asf_demux_parse_stream_object),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_activate_ext_props_streams),
(gst_asf_demux_process_object):
* gst/asfdemux/gstasfdemux.h:
Refactor stream parse/activation a bit (stream activation heuristics
are still the same though); some more clean-ups.
2007-04-30 11:41:22 +00:00
Tim-Philipp Müller
1c69080416 gst/asfdemux/: Init debug category before using it.
Original commit message from CVS:
* gst/asfdemux/gstasf.c: (plugin_init):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init):
* gst/asfdemux/gstasfdemux.h:
Init debug category before using it.
2007-04-28 10:49:17 +00:00