Commit graph

804 commits

Author SHA1 Message Date
Kapil Agrawal
59bd88e4bd dvdsubdec: Support ARGB output
Negotiate to and render into ARGB buffers directly if the peer supports it.
Fixes: #580869
2009-05-21 14:20:22 +01:00
Edward Hervey
f6f09cbb0a asfdemux: Downgrade simple statements from WARNING to DEBUG 2009-05-12 11:57:04 +02:00
Edward Hervey
61c00741a2 asf: Detect more payload extensions.
These should help fix interlaced/PAR issues with more files.
2009-05-12 11:53:45 +02:00
Tim-Philipp Müller
674323b56d mpegaudioparse: remove some pointless g_return_if_fail()s 2009-05-09 10:57:34 +01:00
Mark Nauwelaerts
e8a6ad2546 asfdemux: use upstream segment and timestamps for some interpolation
This should particularly help in case of upstream live src, e.g. rtspsrc,
and especially so if it has to perform fallback to TCP.
2009-05-07 12:23:51 +02:00
Edward Hervey
71da4cc7ae rtpasfdepay: Add support for fragmented packet (L == 0).
This happens with rtp-over-udp.
2009-05-07 12:39:00 +02:00
Jan Schmidt
b18371c1ca mp3parse: Don't reject valid Xing tables of contents
Some Xing headers apparently start the TOC at byte 1 instead of 0. Don't
reject them because of it, just subtract the initial offset when reading
the table.
2009-05-06 15:37:44 +01:00
Jan Schmidt
85a88a0a64 mp3parse: Allow more bits to change in headers during resynch
Be more lenient about what we accept as changing bits in a header - basically,
only require that the mp3 sync marker is present, for the mpeg version,
layer and samplerate.

Fixes: #581464
2009-05-06 15:27:01 +01:00
Edward Hervey
c1953235fa mpegaudioparse: Remove useless checks for valid buffer duration.
The buffer duration is set to a valid value at the very top of
emit_frame(), we therefore don't need to check it later on.
2009-05-06 13:15:30 +02:00
Edward Hervey
21d2fffb13 mpegaudioparse: Fix stop condition for outputting buffers.
Some mp3 streams have an offset in timestamps, requiring us to push the
frame *AFTER* segment.stop in order for the decoder to be able to push
all data up to the segment.stop position.
2009-05-06 13:13:35 +02:00
Mark Nauwelaerts
8b2812ca2e asfdemux: 0-base timestamps consistently (whether or not streaming)
This also makes timestamps (more) consistent before and after a possible
seek, and moreover makes for reasonable position reporting in live stream
(whose payload timestamps should not be taken for granted).
2009-05-05 22:41:41 +02:00
Mark Nauwelaerts
0b28139203 asfdemux: report initial latency due to internal preroll queue 2009-05-05 22:41:39 +02:00
Mark Nauwelaerts
c2d092765a asfdemux: enhance debug statement and refactor some initialization 2009-05-05 22:41:37 +02:00
Mark Nauwelaerts
b8297952cf asfdemux: handle FIXME; activate pads after internal preroll also when streaming 2009-05-05 22:41:35 +02:00
Mark Nauwelaerts
44ebe58377 asfdemux: handle FIXME; normalize preroll 2009-05-05 22:41:33 +02:00
Mark Nauwelaerts
b6d4fb9e4f asfdemux: fixes for streaming mode
* Improve newsegment handling, e.g. upstream might live in TIME.
* Only send newsegment if we have needed info.
* Avoid reading past end of data section.
2009-05-05 22:41:30 +02:00
Mark Nauwelaerts
2bd14c7153 asfdemux: fixes/enhancements for streaming mode
* Do not rock the boat by reacting to FLUSH_START.
* Try to handle TIME seeking by seeking upstream in BYTES.
* Handle SEEKING query.
2009-05-05 22:41:26 +02:00
Edward Hervey
804f65e6db asfpacket: Fix pull-mode timestamping handling.
The problem that happens is the following:
* A packet with multiple payloads comes in
* Those payloads get handled one by one
* The first payload contains the first audio payload with timestamp A
* The second payload contains the first video (key)frame with timestamp V (where V < A)

With the previous code, the following would happen:
* the first payload gets processed, then passed to queue_for_stream
* queue_for_stream detects it's the first valid timestamp received and stores
  first_ts = A
* the second payload gets processed, then pass to queue_for_stream
* queue_for_stream detects the timestamp is lower than first_ts... and
  discards it... resulting in losing the first keyframe of the video stream

We've been having this issue for *ages*... it's just that nobody noticed it
that much with playbin. But with playbin2's aggresive multiqueue handling, this
will result in multiqueue not being able to preroll (because the video decoder will
be dropping a ton of buffers before (maybe) receiving the next keyframe).

Tested with over 200 asf files, and they all play the first frame correctly now,
even the most braindead ones.
2009-04-23 09:04:41 +02:00
Michael Smith
e7450c2df7 mp3parse: don't build seek table if we can't seek.
Fixes #573720 - unbounded memory usage increase when listening to mp3
stream for a long time.
2009-04-21 14:16:52 -07:00
Edward Hervey
8dcbcd6645 mpegaudioparse: Remove dead assignment and duplicate code 2009-04-21 20:37:20 +02:00
Edward Hervey
29b34e049c rmdemux: Actually return the return value for the seek handling. 2009-04-21 20:37:19 +02:00
Edward Hervey
df349f9359 mpegstream: Remove dead assignments.
The duplicate assignment of update_time was weird... but it seems normal
that it's indeed the second statement which is the valid one.
2009-04-21 20:37:19 +02:00
Edward Hervey
fe68ecd653 dvdsub/mpegstream: _class_init: Remove unused class variables 2009-04-21 20:15:56 +02:00
Edward Hervey
bb6697ba4c asfdemux: Initialize flow for a corner case.
This might be caused by entering the if() line 1214 and then not having
any activated_streams.. resulting in reaching line 1267 without having
any valid flow value.
2009-04-19 14:03:58 +02:00
Edward Hervey
c1cd90eb57 rmdemux: Remove dead assignment, value is being overwritten before being read. 2009-04-19 13:59:24 +02:00
Edward Hervey
2a892f5856 rmdemux: Remove unused accurate flag.
I couldn't see any reason why this was there in the first place.
2009-04-19 13:58:31 +02:00
Edward Hervey
2190ad3962 realmedia: Remove dead assignments. The results are never read. 2009-04-19 13:57:59 +02:00
Edward Hervey
0d32a3703d realmedia: Remove useless variables, only being used once (or not). 2009-04-19 13:57:10 +02:00
Edward Hervey
ac0e11e55c remove empty method implementations. 2009-04-19 13:55:24 +02:00
Josep Torra
9cd1fddf15 rtspwms: fix condition to detect extension commands for WMS
Reply with OK to the extension commands for WMS.
2009-04-18 08:12:08 +02:00
Josep Torra
8258daf87c realmedia: add special Real header to DESCRIBE message only for Real
servers

Add headers that are specific to real only if a real server had been
detected by the OPTIONS message.
2009-04-15 11:09:56 +02:00
David Hoyt
3743c83ace synaesthesia: fix compilation on windows
Fix compilation under MSVC due to references to headers
that are not available with the MS SDKs.
Fixes #578524
2009-04-14 19:16:46 +02:00
Wim Taymans
ef31993f34 rtspwms: reply to extension commands
Reply with OK to the extension commands for WMS.
2009-04-14 10:54:37 +02:00
Wim Taymans
4203f7189c asfdepay: fix a comment 2009-04-14 10:53:51 +02:00
Wim Taymans
2377053422 asfdemux: add some more debugging 2009-04-14 10:53:33 +02:00
Tim-Philipp Müller
18e79995af realmedia: add special Real header to SETUP message only for Real servers
Fixes playback of Windows Media RTSP streams and other non-Real RTSP
streams where the server errors out because it can't handle the
Real-specific 'Required: com.real.retain-entity-for-setup' header
we've been adding unconditionally in the recent past.

For reference:
rtsp://66.111.34.191:601/broadcast/alnour.rm
rtsp://195.134.224.231/snowboard_100.wmv
2009-04-09 20:21:46 +01:00
Michael Smith
6b9c72619a asfdemux: link to all required libraries including indirectly used ones.
On win32, we're required to link to all the libraries used - including
ones only indirectly used by other libs. So, add gstaudio, gsttag, and
(for windows only) winsock.
2009-04-08 11:44:53 -07:00
Edward Hervey
5b045e7eac dvdlpcmdec: Fix factory klass, It's a 'Decoder', not a 'Demuxer'. 2009-03-26 20:23:14 +01:00
Wim Taymans
1731c58b9b realrtsp: add more headers
Parse the ETag from the describe method and pass the sessionid as the value for
the If-Match header is subsequent setup calls.
Fixes support for more RealMedia RTSP streams.
2009-03-25 16:39:06 +01:00
Jan Schmidt
d2c6f0b2b6 mp3parse: Fix glitches in the output when playing (for e.g.) AVI
Don't introduce glitches in the output by a) relaxing the threshold for
taking upstream timestamps in preference to our calculated timestamps and
b) only set the discont flag on outgoing buffers in response to an incoming
discont buffer.

Fixes: #575046
2009-03-13 19:25:12 +00:00
Alessandro Decina
abf7f47769 mp3parse: fix deadlock with accurate seeks.
Release pending_accurate_seeks_lock before forwarding the seek event upstream.
Fixes #575068.
2009-03-12 15:57:31 +01:00
Michael Smith
777eb4d9cc mp3parse: be more conservative when changing layer/rate/etc.
Don't allow a change in sample rate/channels/layer/version unless we can
see another frame at the correct offset. Prevents accidently flipping
due to simple single-bit corruption.
2009-03-06 13:21:36 -08:00
Jan Schmidt
b510f2ab6b rmdemux: Fix strict-aliasing warnings.
Use existing GST_READ_UINT32 and GST_WRITE_UINT32 macros instead of
hand-rolled ones.
2009-03-04 16:52:59 +00:00
René Stadler
be6292d4de mpegaudioparse: Remove empty lines added by buggy indent. 2009-03-04 16:17:06 +02:00
Mark Nauwelaerts
d950699d2e mpegaudioparse: Provide SEEKING query handling.
Since SEEK event handling might perform some conversion
from TIME to BYTES, do not let upstream fool application
into (TIME) seeking not being possible.
2009-02-27 14:58:21 +01:00
Michael Smith
d61498d842 mp3parse: fix accurate seeks to near 0
Integer underflow made accurate seeks to near zero fail and seek to
completely the wrong place. Fix by clamping to zero, since we can't seek
to negative times anyway.
2009-02-25 13:34:05 -08:00
Wim Taymans
d99f4c9756 rtspreal: ignore data streams. Fixes #527112
Ignore data streams when parsing the SDP as they don't contain anything we need
to put in the realmedia header.
2009-02-25 18:23:55 +01:00
Stefan Kost
e12ccaa63c rtpasfdepay: Fix the build by adding the needed include for atoi. 2009-02-23 10:50:50 +02:00
Edward Hervey
96d35e0819 Fix indentation. 2009-02-22 14:22:30 +01:00
Edward Hervey
52e30c1b33 pnmsrc: Error out gracefully if location is NULL. Run gst-indent 2009-02-22 14:21:22 +01:00
Wim Taymans
da28d1620e Add pnm:// uri source
Add a new utri handler for pnm:// that for now just redirects to the same uri
with the rtsp:// protocol, which usually works nowadays.

Separate the registration of the various plugins into a separate source file.
2009-02-20 15:53:34 +01:00
Wim Taymans
f0078ebae4 Add ASF depayloader
Add ASF depayloader based on latest public MicroSoft docs (MS-RTSP).
Fixes #335067.
2009-02-20 13:52:29 +01:00
Roland Moser
c42e090acc Fix parsing of the flags in rmdemux
Fix parsing of the flags in version 1 realmedia streams.
Fixes #571358.
2009-02-18 12:55:16 +01:00
Sebastian Dröge
2744324adc Remove redundant push_mode struct member 2009-01-30 14:38:23 +01:00
Stefan Kost
f223b0e1c6 Precalculate some size dependent variables. Demystify the height scaling a bit.
Adds more comments to the code about the height scaling. RIght now only certain heights are screen filling.
2009-01-26 22:40:10 +02:00
Stefan Kost
a5b4ee672e Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-ugly 2009-01-26 21:26:46 +02:00
Wim Taymans
2dbb5a3923 Set flags on the realmedia chunks
Set the keyframe flags from the RDT packet to the realmedia chunk so that the
descrambler can be reset on keyframes. Fixes #556714.
2009-01-26 20:12:41 +01:00
Wim Taymans
9ce447007e Add method to get RDT flags
Add a method to get the RDT flags. We need these flags to mark keyframes to
reset the descrambing queue. See #556714.
2009-01-26 20:10:36 +01:00
Hans de Goede
3bcd050fab Add seeking support to asfdemux in push mode
Fixes bug #568836.
2009-01-26 10:02:02 +01:00
Hans de Goede
4ff0d1fe52 Drop packets with an invalid replicated data length
Drop packets with an invalid replicated data length
instead of continuing with an invalid timestamp
and uninitialized payload metadata.
All other code assumes that the timestamps are valid.
2009-01-26 10:02:02 +01:00
Stefan Kost
28d3578d0d Change comment to refer to right variable. 2009-01-25 22:31:52 +02:00
Stefan Kost
8ebd13a681 Bring synaesthesia to next century.
Do proper size negotiation. Change engine API to allow resizes. Small cleanups elsewhere.
2009-01-24 23:37:45 +02:00
David Schleef
d798fa10c9 Fix leak of converted string 2009-01-23 17:51:32 -08:00
Stefan Kost
23db61047f Make synaesthesia build again.
_init() has no params.
2009-01-23 23:59:38 +02:00
Yves Lefebvre
f4567b2c7c gst/mpegstream/: Fix some caps leaks. Fixes bug #564885.
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_get_video_stream),
(gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_reset):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init_stream),
(gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream), (gst_mpeg_demux_reset):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_chain):
Fix some caps leaks. Fixes bug #564885.
2009-01-08 08:19:25 +00:00
Tim-Philipp Müller
8c6bcd6771 gst/mpegaudioparse/gstmpegaudioparse.*: Do an initial class_ref on an internal enum type from within the class_init f...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (channel_mode_class),
(GST_TYPE_MP3_CHANNEL_MODE), (mp3_type_frame_length_from_header),
(gst_mp3parse_emit_frame), (mp3parse_get_query_types):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Do an initial class_ref on an internal enum type from within the
class_init function so that there aren't any issues when multiple
mp3parse elements are started in separate threads at the same
time. (Why we use an enum type here if the tag is registered as
a string type, I don't know). Also remove custom UNUSED macro
and use GLib's instead.
2008-12-10 15:42:21 +00:00
Wim Taymans
3838bdb40d gst/asfdemux/gstasfdemux.c: Remove duplicate and broken code for the streaming case and simply reuse the much better ...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_chain):
Remove duplicate and broken code for the streaming case and simply reuse
the much better working pull based code. Fixes #560348.
2008-11-20 21:31:19 +00:00
Wim Taymans
0ba1ec7104 gst/asfdemux/gstasfdemux.c: Only copy sane aspect ratio values on the caps. Fixes #559682.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_add_video_stream):
Only copy sane aspect ratio values on the caps. Fixes #559682.
2008-11-11 17:14:46 +00:00
Tal Shalif
099e716a61 gst/mpegstream/: Fix memmory corruption due to not storing the new updated pointer after a g_renew(). Fixes #558896.
Original commit message from CVS:
Patch by: Tal Shalif <tshalif at nargila dot org>
* gst/mpegstream/gstdvddemux.c:
(gst_dvd_demux_get_subpicture_stream):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream):
Fix memmory corruption due to not storing the new updated pointer
after a g_renew(). Fixes #558896.
2008-11-03 11:31:49 +00:00
Wim Taymans
5aa3023505 gst/realmedia/rmdemux.c: Add suport for mpeg4 and aac audio. See #556714.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_descramble_mp4a_audio),
(gst_rmdemux_handle_scrambled_packet):
Add suport for mpeg4 and aac audio. See #556714.
2008-10-24 12:47:05 +00:00
Michael Smith
46c5294930 gst/mpegaudioparse/gstmpegaudioparse.c: Calculate samples per frame correctly for "MPEG 2.5" layer 3.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
Calculate samples per frame correctly for "MPEG 2.5" layer 3.
Fixes skipping on these files.
2008-10-14 19:28:05 +00:00
Stefan Kost
793cdeb880 Don't install static libs for plugins. Fixes #550851 for ugly.
Original commit message from CVS:
* ext/a52dec/Makefile.am:
* ext/amrnb/Makefile.am:
* ext/cdio/Makefile.am:
* ext/dvdnav/Makefile.am:
* ext/dvdread/Makefile.am:
* ext/lame/Makefile.am:
* ext/mad/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* ext/sidplay/Makefile.am:
* gst/ac3parse/Makefile.am:
* gst/asfdemux/Makefile.am:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdsub/Makefile.am:
* gst/iec958/Makefile.am:
* gst/mpegaudioparse/Makefile.am:
* gst/mpegstream/Makefile.am:
* gst/realmedia/Makefile.am:
* gst/synaesthesia/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for ugly.
2008-10-13 18:10:25 +00:00
Sebastian Dröge
62d483656b gst/mpegaudioparse/gstmpegaudioparse.c: Post a GST_ELEMENT_ERROR if we get EOS before seeing any valid frames. Partia...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event):
Post a GST_ELEMENT_ERROR if we get EOS before seeing any valid
frames. Partially fixes bug #552237.
2008-10-13 09:04:15 +00:00
Edward Hervey
def71526d9 gst/asfdemux/gstasfdemux.c: Fix aggregated GST_FLOW_RETURN check for when to send an error message on the bus.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_loop):
Fix aggregated GST_FLOW_RETURN check for when to send an error message
on the bus.
Re-fixes #546859
2008-08-28 09:57:30 +00:00
Wim Taymans
ff1503f5cf gst/realmedia/rdtdepay.*: Parse other values from the incomming caps.
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_init),
(gst_rdt_depay_setcaps), (gst_rdt_depay_sink_event),
(create_segment_event), (gst_rdt_depay_push),
(gst_rdt_depay_handle_data), (gst_rdt_depay_change_state):
* gst/realmedia/rdtdepay.h:
Parse other values from the incomming caps.
Add event handler to handle flushing and segments.
Create segment events.
* gst/realmedia/rdtjitterbuffer.c: (rdt_jitter_buffer_insert):
Do skew correction based on RDT timestamps.
* gst/realmedia/rdtmanager.c: (activate_session),
(gst_rdt_manager_parse_caps), (gst_rdt_manager_setcaps),
(create_recv_rtp):
Parse caps to get the clockrate needed for the jitterbuffer.
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
Apply timestamp fixup after correcting for initial timestamp and
internal base timestamp corrections.
2008-08-27 15:55:05 +00:00
Wim Taymans
35b3e2b596 gst/realmedia/rdtdepay.*: Check seqnum gaps and drop duplicate packets or mark outgoing buffers with a DISCONT flag w...
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_handle_data),
(gst_rdt_depay_change_state):
* gst/realmedia/rdtdepay.h:
Check seqnum gaps and drop duplicate packets or mark outgoing buffers
with a DISCONT flag when needed.
* gst/realmedia/rdtmanager.c: (gst_rdt_manager_query_src):
Report the configure latency instead of a hardcoded value.
2008-08-27 11:28:50 +00:00
Wim Taymans
541aad907e gst/realmedia/rdtmanager.c: Include the new rdt jitterbuffer in the session manager.
Original commit message from CVS:
* gst/realmedia/rdtmanager.c: (create_session), (activate_session),
(free_session), (gst_rdt_manager_query_src),
(gst_rdt_manager_src_activate_push),
(gst_rdt_manager_handle_data_packet), (gst_rdt_manager_chain_rdt),
(gst_rdt_manager_loop), (create_recv_rtp):
Include the new rdt jitterbuffer in the session manager.
2008-08-27 10:02:06 +00:00
Wim Taymans
6367c03a1d gst/realmedia/rdtdepay.*: Use new RDT parsing helper functions.
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_class_init),
(gst_rdt_depay_finalize), (gst_rdt_depay_setcaps),
(gst_rdt_depay_push), (gst_rdt_depay_handle_data),
(gst_rdt_depay_chain), (gst_rdt_depay_change_state):
* gst/realmedia/rdtdepay.h:
Use new RDT parsing helper functions.
Copy discont flags correctly.
Push the header from the chain function instead of the setcaps function.
Copy incomming timestamp to the output buffers instead of doing magic
with the RDT timestamps.
2008-08-27 09:58:00 +00:00
Wim Taymans
6fb8002cab gst/realmedia/: Add first support for parsing RDT messages.
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/gstrdtbuffer.c: (gst_rdt_buffer_validate_data),
(gst_rdt_buffer_validate), (gst_rdt_buffer_get_packet_count),
(read_packet_header), (gst_rdt_buffer_get_first_packet),
(gst_rdt_packet_move_to_next), (gst_rdt_packet_get_type),
(gst_rdt_packet_get_length), (gst_rdt_packet_to_buffer),
(gst_rdt_buffer_compare_seqnum), (gst_rdt_packet_data_get_seq),
(gst_rdt_packet_data_peek_data),
(gst_rdt_packet_data_get_stream_id),
(gst_rdt_packet_data_get_timestamp):
* gst/realmedia/gstrdtbuffer.h:
Add first support for parsing RDT messages.
* gst/realmedia/rdtjitterbuffer.c: (rdt_jitter_buffer_class_init),
(rdt_jitter_buffer_init), (rdt_jitter_buffer_finalize),
(rdt_jitter_buffer_new), (rdt_jitter_buffer_reset_skew),
(calculate_skew), (rdt_jitter_buffer_insert),
(rdt_jitter_buffer_pop), (rdt_jitter_buffer_peek),
(rdt_jitter_buffer_flush), (rdt_jitter_buffer_num_packets),
(rdt_jitter_buffer_get_ts_diff):
* gst/realmedia/rdtjitterbuffer.h:
Add first version of an RDT jitterbuffer.
2008-08-27 09:52:49 +00:00
Wim Taymans
82a84e69e5 gst/realmedia/rmdemux.*: Keep track of the first timestamp of the stream and add this to the outgoing buffer timestam...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_init),
(find_seek_offset_time), (gst_rmdemux_reset), (gst_rmdemux_chain),
(gst_rmdemux_parse_mdpr), (gst_rmdemux_descramble_cook_audio),
(gst_rmdemux_descramble_dnet_audio),
(gst_rmdemux_parse_video_packet), (gst_rmdemux_parse_audio_packet):
* gst/realmedia/rmdemux.h:
Keep track of the first timestamp of the stream and add this to the
outgoing buffer timestamps so that we can handle live streams.
Set discont flag on the first buffers and after a seek.
2008-08-27 09:47:17 +00:00
Michael Smith
33532cddc4 gst/asfdemux/gstasfdemux.c: Properly aggregate flow returns for both push and pull mode, so we shut down if all pads ...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
Properly aggregate flow returns for both push and pull mode, so we shut
down if all pads are unlinked.
Fixes #546859.
2008-08-11 18:44:35 +00:00
Frederic Crozat
dddfa0d890 Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822).
Original commit message from CVS:
Patch by: Frederic Crozat <fcrozat@mandriva.org>
* ext/dvdread/dvdreadsrc.c: (plugin_init):
* ext/lame/gstlame.c: (plugin_init):
* gst/asfdemux/gstasf.c: (plugin_init):
Make sure gettext returns translations in UTF-8 encoding rather
than in the current locale encoding (#546822).
2008-08-07 16:14:42 +00:00
Sebastian Dröge
6d5dba30d2 gst/mpegaudioparse/gstmpegaudioparse.c: Don't recurse from mp3parse_bytepos_to_time() to mp3parse_total_time() if we'...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event), (gst_mp3parse_emit_frame),
(mp3parse_total_time), (mp3parse_bytepos_to_time):
Don't recurse from mp3parse_bytepos_to_time() to mp3parse_total_time()
if we're called from there already. Otherwise we end up in a endless
recursion and crash with a stack overflow.
This can happen when a Xing or VBRI header with TOC exists but it
doesn't contain the total time. Fixes bug #545370.
2008-07-31 14:35:40 +00:00
Sebastian Dröge
d2d56eb183 Put the MPEG audio version into the caps as "mpegaudioversion".
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_setcaps):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (mp3_caps_create),
(gst_mp3parse_chain):
Put the MPEG audio version into the caps as "mpegaudioversion".
This is different from "mpegversion".
2008-07-27 11:01:12 +00:00
Mark Nauwelaerts
e701517a31 gst/mpegstream/: Resend tags event after a FLUSH (seek) to support prerolling a partial pipeline.
Original commit message from CVS:
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream),
(gst_dvd_demux_parse_packhead), (gst_dvd_demux_reset):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_init),
(gst_mpeg_demux_process_event), (gst_mpeg_demux_init_stream),
(gst_mpeg_demux_parse_packhead), (gst_mpeg_demux_reset):
* gst/mpegstream/gstmpegdemux.h:
Resend tags event after a FLUSH (seek) to support prerolling
a partial pipeline.
2008-07-05 15:56:56 +00:00
Tim-Philipp Müller
f887811a64 Use correct error code for encrypted streams.
Original commit message from CVS:
* configure.ac:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_object):
Use correct error code for encrypted streams.
2008-07-03 13:12:26 +00:00
Mark Nauwelaerts
bb858a12ba gst/mpegstream/gstmpegdemux.c: Bridge gaps in stream by NEWSEGMENT sending. Fixes #540194.
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer),
(gst_mpeg_demux_sync_stream_to_time):
Bridge gaps in stream by NEWSEGMENT sending.  Fixes #540194.
2008-07-02 07:49:19 +00:00
Mark Nauwelaerts
a977cd5ac6 ext/dvdread/dvdreadsrc.c: Allow and implement non-flushing and/or segment seek (mainly in TIME and chapter format).
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (gst_dvd_read_src_read),
(gst_dvd_read_src_create), (gst_dvd_read_src_handle_seek_event):
Allow and implement non-flushing and/or segment seek
(mainly in TIME and chapter format).
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event),
(gst_dvd_demux_get_subpicture_stream),
(gst_dvd_demux_synchronise_pads),
(gst_dvd_demux_sync_stream_to_time):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_process_event),
(gst_mpeg_demux_send_subbuffer),
(gst_mpeg_demux_sync_stream_to_time),
(gst_mpeg_streams_reset_cur_ts):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
(gst_mpeg_parse_pad_added), (gst_mpeg_parse_handle_src_query):
Delegate a query to upstream if it can't be handled.
Make segment stop aware.
Fix (subtitle) stream synchronization.
Add some debug statements.
2008-06-27 12:58:35 +00:00
Edward Hervey
8c0a922780 gst/mpegaudioparse/gstmpegaudioparse.c: Fix build on macosx.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (head_check):
Fix build on macosx.
2008-06-26 10:40:03 +00:00
Stefan Kost
c49cf83ee3 Add missing elements to docs. Restore alphabetical order in section file. Document mad (it was included in docs alrea...
Original commit message from CVS:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* ext/a52dec/gsta52dec.c:
* ext/amrnb/amrnbdec.c:
* ext/amrnb/amrnbenc.c:
* ext/amrnb/amrnbparse.c:
* ext/lame/gstlame.c:
* ext/mad/gstmad.c:
* ext/sidplay/gstsiddec.cc:
* gst/asfdemux/gstrtspwms.c:
* gst/mpegaudioparse/gstxingmux.c:
* gst/realmedia/rademux.c:
* gst/realmedia/rdtmanager.c:
* gst/realmedia/rtspreal.c:
* gst/synaesthesia/gstsynaesthesia.c:
Add missing elements to docs. Restore alphabetical order in section
file. Document mad (it was included in docs already).
Fix doc-markup: use convinience syntax for examples
(produces valid docbook), add several refsec2 when we have several
titles. Fix some types.
2008-06-13 06:57:21 +00:00
Stefan Kost
81e36c292e Do not use short_description in section docs for elements. We extract them from element details and there will be war...
Original commit message from CVS:
* ext/lame/gstlame.c:
* ext/sidplay/gstsiddec.cc:
* gst/mpegaudioparse/gstxingmux.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
2008-06-13 05:52:17 +00:00
Sebastian Dröge
9838809d93 gst/mpegaudioparse/gstmpegaudioparse.c: Don't mark MPEG headers with emphasis == 0x2 as invalid. This emphasis value ...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (head_check):
Don't mark MPEG headers with emphasis == 0x2 as invalid. This
emphasis value is reserved but unfortunately files with that
value exist and the information is not important for the decoder
anyway. Fixes bug #537235.
2008-06-09 07:51:00 +00:00
Sebastian Dröge
916a018b60 gst/mpegaudioparse/gstxingmux.c: Fix alignment issues that caused SIGBUS on some architectures.
Original commit message from CVS:
* gst/mpegaudioparse/gstxingmux.c: (generate_xing_header):
Fix alignment issues that caused SIGBUS on some architectures.
2008-05-26 07:41:24 +00:00
Tim-Philipp Müller
3f6175dfdc gst/ac3parse/gstac3parse.c: Fix alignment issue which isn't really an issue at all because the plugin hasn't been por...
Original commit message from CVS:
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain):
Fix alignment issue which isn't really an issue at all because
the plugin hasn't been ported to 0.10 yet.
2008-05-25 21:30:40 +00:00
Wim Taymans
a40deba0ce gst/realmedia/rmdemux.c: Flush timestamp correction variables on a flush. Fixes #533832.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_send_event):
Flush timestamp correction variables on a flush. Fixes #533832.
2008-05-19 10:23:46 +00:00
Edward Hervey
826629a9b0 gst/realmedia/rmdemux.c: Properly aggregate GstFlowReturn from downstream in order to properly stop, and doing that a...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
Properly aggregate GstFlowReturn from downstream in order to properly
stop, and doing that as early as possible.
Fixes #532807
2008-05-13 09:33:09 +00:00
Edward Hervey
130c46902a Always let FLUSH_START events flow downstream.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_sink_event):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_sink_event):
Always let FLUSH_START events flow downstream.
2008-05-10 00:44:00 +00:00
Wim Taymans
701fcfc4e5 gst/realmedia/rmdemux.c: Fix video timestamps by adjusting it with the first timestamp found.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr),
(gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet),
(gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet):
Fix video timestamps by adjusting it with the first timestamp found.
Don't assume we have a complete fragment when flushing the adapter,
packets might have been lost or the stream might just be broken.
2008-05-06 17:53:26 +00:00
Wim Taymans
67f91efd05 gst/realmedia/rdtmanager.c: Set Rank to NONE so that we don't accidentally try to autoplug the rdtmanager.
Original commit message from CVS:
* gst/realmedia/rdtmanager.c: (gst_rdt_manager_plugin_init):
Set Rank to NONE so that we don't accidentally try to autoplug the
rdtmanager.
2008-05-06 10:30:18 +00:00
Sebastian Dröge
744d36d359 gst/mpegaudioparse/gstmpegaudioparse.c: Send a new duration message if the average bitrate changed and we don't know ...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_emit_frame):
Send a new duration message if the average bitrate changed and
we don't know the duration from the Xing or VBRI header.
Fixes bug #321857.
2008-05-05 08:43:38 +00:00
Wim Taymans
dc920d924b gst/realmedia/rtspreal.*: Move assembly rule parsing to the place where we parse the SDP as it's also there that we c...
Original commit message from CVS:
* gst/realmedia/rtspreal.c: (rtsp_ext_real_before_send),
(rtsp_ext_real_parse_sdp), (rtsp_ext_real_stream_select):
* gst/realmedia/rtspreal.h:
Move assembly rule parsing to the place where we parse the SDP as it's
also there that we create the MDPR and we need the currently selected
asmrule in order to select the right MTLI.
Fixes #529359.
2008-04-30 17:16:47 +00:00
Michael Smith
a7de0e326a gst/realmedia/: Include generated "_stdint.h" instead of <stdint.h> which might not exist on some systems.
Original commit message from CVS:
* gst/realmedia/realhash.c:
* gst/realmedia/rtspreal.c:
Include generated "_stdint.h" instead of <stdint.h> which might not
exist on some systems.
2008-04-29 17:34:19 +00:00
Edgard Lima
d65a5d0d57 Fix "unused var" compiler error when --disable-gst-debug is used.
Original commit message from CVS:
Fix "unused var" compiler error when --disable-gst-debug is used.
2008-04-22 12:11:30 +00:00
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