Commit graph

1314 commits

Author SHA1 Message Date
vanista
71043cd0f9 gst/mpegtsmux/mpegtsmux.c: Fix EOS logic by correctly popping the collect pad buffers only when we've chosen to use t...
Original commit message from CVS:
Patch by: vanista <vanista at gmail dot com>
* gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_choose_best_stream):
Fix EOS logic by correctly popping the collect pad buffers only
when we've chosen to use them instead of popping them always and
storing them in a private queue.
Before the pipeline would deadlock if all pads go EOS at the same
time. Fixes bug #557763.
2008-10-27 08:52:50 +00:00
Edward Hervey
a794d8cccf gst/mpegdemux/gstmpegdemux.c: Fix reverse playback regression.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data):
Fix reverse playback regression.
Fixes #557080
2008-10-20 14:19:17 +00:00
Zaheer Abbas Merali
e758c7dc23 gst/mpegdemux/gstmpegtsdemux.*: Properly handle some resync cases in the optimised buffering strategy.
Original commit message from CVS:
Patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
Properly handle some resync cases in the optimised
buffering strategy.
2008-10-16 16:37:33 +00:00
Sebastian Dröge
5453883e63 gst/flv/gstflvmux.c: Don't set video_codec to the value that actually should go into audio codec, otherwise we create...
Original commit message from CVS:
* gst/flv/gstflvmux.c: (gst_flv_mux_audio_pad_setcaps),
(gst_flv_mux_write_buffer):
Don't set video_codec to the value that actually should go
into audio codec, otherwise we create invalid files.
Fixes bug #556564.
2008-10-16 15:21:15 +00:00
Stefan Kost
e3cf903b81 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:06:55 +00:00
Wim Taymans
9f83f6868c gst/rtpmanager/gstrtpjitterbuffer.c: Fix problem with using the output seqnum counter to check for input seqnum disco...
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps),
(gst_rtp_jitter_buffer_flush_start),
(gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_loop):
Fix problem with using the output seqnum counter to check for input
seqnum discontinuities.
Improve gap detection and recovery, reset and flush the jitterbuffer on
seqnum restart. Fixes #556520.
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_insert):
Fix wrong G_LIKELY.
2008-10-16 13:05:37 +00:00
Wim Taymans
126e0fd0f4 gst/rtpmanager/gstrtpsession.c: Install event handler on the rtcp_src pad, make LATENCY event return
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_event_send_rtcp_src), (create_send_rtcp_src):
Install event handler on the rtcp_src pad, make LATENCY event return
TRUE.
2008-10-16 09:51:28 +00:00
Edward Hervey
37167605cd gst/mpegdemux/gstmpegdemux.c: Make sure the mpegpsdemux element creates valid newsegment events.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data):
Make sure the mpegpsdemux element creates valid newsegment events.
Fixes #556428
2008-10-16 09:18:31 +00:00
Sebastian Pölsterl
d8ed703cdb gst/mpegdemux/mpegtspacketizer.c: Fixes segfault in get_encoding_and_convert.
Original commit message from CVS:
patch by: Sebastian Pölsterl
* gst/mpegdemux/mpegtspacketizer.c:
Fixes segfault in get_encoding_and_convert.
Fixes #556482
2008-10-16 08:17:59 +00:00
Zaheer Abbas Merali
9a808ad30a gst/mpegdemux/gstmpegtsdemux.c: Fixes a segfault in the adaptation buffer size strategy.
Original commit message from CVS:
patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
Fixes a segfault in the adaptation buffer size strategy.
Fixes #556440
2008-10-16 08:13:49 +00:00
Edward Hervey
f1c7c8cea0 gst/selector/gstinputselector.c: Gracefully handle the cases when we dont' have otherpad.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_input_selector_event),
(gst_input_selector_query):
Gracefully handle the cases when we dont' have otherpad.
Fixes #556430
2008-10-15 17:45:37 +00:00
Edward Hervey
847dd7016e gst/aiffparse/aiffparse.c: Fix debugging category initialization.
Original commit message from CVS:
* gst/aiffparse/aiffparse.c: (plugin_init):
Fix debugging category initialization.
Fixes #556274
2008-10-14 15:13:05 +00:00
Sebastian Dröge
e67beb0857 gst/flv/gstflvdemux.c: Fix regression of handling flow returns in pull mode.
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag),
(gst_flv_demux_pull_header):
Fix regression of handling flow returns in pull mode.
Fixes bug #556003.
2008-10-12 17:08:10 +00:00
Sebastian Dröge
1854fd19a9 gst/flv/gstflvparse.c: Use gst_pad_alloc_buffer_and_set_caps() to make sure we get a buffer with caps that we can wor...
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
Use gst_pad_alloc_buffer_and_set_caps() to make sure we get
a buffer with caps that we can work with (i.e. the pad's caps).
Add non-keyframe video frames to the index too but without the
keyframe flag.
Add audio frames to the index only if we have no video stream.
2008-10-10 16:33:36 +00:00
Sebastian Dröge
7b619115fb gst/flv/gstflvparse.c: Create pads from the pad templates, use fixed caps on them and only activate them after the ca...
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
Create pads from the pad templates, use fixed caps on them
and only activate them after the caps are set.
2008-10-10 16:15:09 +00:00
Jan Schmidt
703533e7ed Fix compiler warning on OS/X about parameters not matching the debug format string.
Original commit message from CVS:
2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>

* gst/flacparse/gstbaseparse.c (gst_base_parse_push_buffer),
(gst_base_parse_update_upstream_durations):
Fix compiler warning on OS/X about parameters not matching
the debug format string.
2008-10-10 11:17:09 +00:00
Sebastian Dröge
b561dfdf47 gst/deinterlace2/tvtime/tomsmocomp.c: Fix unused variable compiler warning when not building
Original commit message from CVS:
* gst/deinterlace2/tvtime/tomsmocomp.c:
(gst_deinterlace_method_tomsmocomp_class_init):
Fix unused variable compiler warning when not building
X86 assembly.
2008-10-09 19:38:52 +00:00
Sebastian Dröge
1f6ba1d280 gst/flv/: Get an approximate duration of the file by looking at the timestamp of the last tag in pull mode. If we get...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_loop):
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_timestamp):
* gst/flv/gstflvparse.h:
Get an approximate duration of the file by looking at the timestamp
of the last tag in pull mode. If we get (maybe better) duration from
metadata later we'll use that instead.
2008-10-09 16:20:26 +00:00
Sebastian Dröge
d411f8d1d7 gst/flv/gstflvdemux.c: Refactor _pull_range() logic with checks into a seperate function to make things a bit more re...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_range),
(gst_flv_demux_pull_tag), (gst_flv_demux_pull_header):
Refactor _pull_range() logic with checks into a seperate function
to make things a bit more readable.
2008-10-09 15:43:02 +00:00
Sebastian Dröge
f66e8bf233 gst/flv/gstflvdemux.c: Use gst_element_class_set_details_simple().
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_chain),
(gst_flv_demux_base_init):
Use gst_element_class_set_details_simple().
If we get GST_FLOW_NOT_LINKED in the parse loop but at least
one of the pads is linked continue the loop.
2008-10-09 15:26:56 +00:00
Sebastian Dröge
ef8649e92e gst/flv/gstflvparse.c: Correct caps for video codec id 5: It's On2 VP6 with alpha channel which needs a different dec...
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate),
(gst_flv_parse_tag_audio), (gst_flv_parse_video_negotiate):
Correct caps for video codec id 5: It's On2 VP6 with alpha channel
which needs a different decoder and has different caps.
Add support for audio codec id 14, which is MP3 with 8kHz sampling
rate.
Fix endianness and signedness for raw audio codec ids.
Add support for alaw and mulaw audio.
2008-10-09 10:00:51 +00:00
Sebastian Dröge
9f3b48a495 gst/flv/gstflvdemux.c: Go out of the parse loop as soon as we get an error instead of parsing until the GstAdapter is...
Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_chain):
Go out of the parse loop as soon as we get an error instead
of parsing until the GstAdapter is empty.
Add some explanations about the header and tag size.
Don't print synchronizing message if everything is fine.
2008-10-09 09:48:46 +00:00
Sebastian Dröge
0b42844a3c gst/flv/: Add first version of a FLV muxer. The only missing feature is writing of stream metadata.
Original commit message from CVS:
* gst/flv/Makefile.am:
* gst/flv/gstflvdemux.c: (plugin_init):
* gst/flv/gstflvmux.c: (gst_flv_mux_base_init),
(gst_flv_mux_class_init), (gst_flv_mux_init),
(gst_flv_mux_finalize), (gst_flv_mux_reset),
(gst_flv_mux_handle_src_event), (gst_flv_mux_handle_sink_event),
(gst_flv_mux_video_pad_setcaps), (gst_flv_mux_audio_pad_setcaps),
(gst_flv_mux_request_new_pad), (gst_flv_mux_release_pad),
(gst_flv_mux_write_header), (gst_flv_mux_write_buffer),
(gst_flv_mux_collected), (gst_flv_mux_change_state):
* gst/flv/gstflvmux.h:
Add first version of a FLV muxer. The only missing feature is writing
of stream metadata.
2008-10-09 09:26:58 +00:00
Zaheer Abbas Merali
2dde2ebecc gst/mpegdemux/: Add Fluendo to the Long Name.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c:
* gst/mpegdemux/gstmpegtsdemux.c:
Add Fluendo to the Long Name.
2008-10-08 16:20:26 +00:00
Zaheer Abbas Merali
f6aeac7868 Move of mpegtsparse to mpegdemux.
Original commit message from CVS:
* configure.ac:
* gst-plugins-bad.spec.in:
* gst/mpegdemux/Makefile.am:
* gst/mpegdemux/flumpegdemux.c:
* gst/mpegdemux/gstmpegdesc.c:
* gst/mpegdemux/gstmpegdesc.h:
* gst/mpegdemux/mpegtspacketizer.c:
* gst/mpegdemux/mpegtspacketizer.h:
* gst/mpegdemux/mpegtsparse.c:
* gst/mpegdemux/mpegtsparse.h:
Move of mpegtsparse to mpegdemux.
Fixes #555193.
2008-10-08 15:25:24 +00:00
Zaheer Abbas Merali
8aea40af0b Move of mpegtsparse to mpegdemux
Original commit message from CVS:
Move of mpegtsparse to mpegdemux
2008-10-08 15:22:12 +00:00
Sebastian Dröge
453b704a09 gst/mpegdemux/gstmpegdemux.c: Prevent a division by zero if last mux rate was zero.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data),
(gst_flups_demux_parse_pack_start):
Prevent a division by zero if last mux rate was zero.
If we're going to send a NEWSEGMENT event but the segment start
and the current buffer timestamp differ by more than a second we
will start the NEWSEGMENT at the buffer timestamp.
This fixes playback of the tv2-1_25.mpg file, which has 0 as first SCR
but the first PTS are around 1 hour and 40 minutes.
Fixes bug #553755.
2008-10-08 10:21:20 +00:00
Håvard Graff
b398d611a4 gst/rtpmanager/gstrtpbin-marshal.list: Add marshaller for new action signal.
Original commit message from CVS:
Patch by: Håvard Graff <havard dot graff at tandberg dot com>
* gst/rtpmanager/gstrtpbin-marshal.list:
Add marshaller for new action signal.
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_get_internal_session),
(gst_rtp_bin_class_init):
* gst/rtpmanager/gstrtpbin.h:
Add action signal to retrieve the internal RTPSession object.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_get_property), (gst_rtp_session_release_pad):
Add property to access the internal RTPSession object.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(check_collision):
* gst/rtpmanager/rtpsession.h:
Add action signal to retrieve an RTPSource object by SSRC.
See #555396.
2008-10-07 18:54:41 +00:00
Stefan Kost
ae65d3945b gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
Original commit message from CVS:
* gst/selector/gstoutputselector.c:
Choose right pad for sending events. Fixes #555244
2008-10-07 13:14:40 +00:00
Wim Taymans
dbc5475c97 gst/rtpmanager/gstrtpbin.c: Release pads of the session manager.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (find_session_by_pad),
(free_session), (gst_rtp_bin_dispose), (remove_recv_rtp),
(remove_recv_rtcp), (remove_send_rtp), (remove_rtcp),
(gst_rtp_bin_release_pad):
Release pads of the session manager.
Start implementing releasing pads of gstrtpbin.
* gst/rtpmanager/gstrtpsession.c: (remove_recv_rtp_sink),
(remove_recv_rtcp_sink), (remove_send_rtp_sink),
(remove_send_rtcp_src), (gst_rtp_session_release_pad):
Implement releasing pads in gstrtpsession.
2008-10-07 11:33:10 +00:00
Wim Taymans
be12e7d67c gst/rtpmanager/gstrtpjitterbuffer.c: Only update the seqnum-base when it was not already configured for the streams.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps):
Only update the seqnum-base when it was not already configured for the
streams.
2008-10-07 10:02:20 +00:00
Zaheer Abbas Merali
c3e91e1a88 gst/mpegtsparse/mpegtsparse.c: Actually copy the structure passed in when assigning it because it gets freed straight...
Original commit message from CVS:
* gst/mpegtsparse/mpegtsparse.c:
Actually copy the structure passed in when assigning it because
it gets freed straight after the function call.
Re: pat_info and pmt_info GstStructures.
2008-10-06 12:01:14 +00:00
Zaheer Abbas Merali
478417da1a gst/mpegdemux/gstmpegtsdemux.c: Fix wrong firing of critical introduced by previous optimisation.
Original commit message from CVS:
Patch by: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
Fix wrong firing of critical introduced by previous optimisation.
2008-10-06 08:32:41 +00:00
Zaheer Abbas Merali
67030c152b gst/mpegtsparse/mpegtsparse.c: Fix possible crash where pat is pointing to a freed structure.
Original commit message from CVS:
* gst/mpegtsparse/mpegtsparse.c:
Fix possible crash where pat is pointing to a freed structure.
2008-10-03 09:11:16 +00:00
Sebastian Dröge
45738112d4 gst/flacparse/gstbaseparse.c: Add support for GstIndex.
Original commit message from CVS:
* gst/flacparse/gstbaseparse.c: (gst_base_parse_finalize),
(gst_base_parse_class_init), (gst_base_parse_push_buffer),
(gst_base_parse_change_state), (gst_base_parse_set_index),
(gst_base_parse_get_index):
Add support for GstIndex.
2008-09-30 17:03:14 +00:00
Sebastian Dröge
3070e9bdec gst/flacparse/gstbaseparse.*: Provide a vfunc for the subclass to decide whether a frame is inside the segment or not...
Original commit message from CVS:
* gst/flacparse/gstbaseparse.c: (gst_base_parse_class_init),
(gst_base_parse_push_buffer),
(gst_base_parse_update_upstream_durations),
(gst_base_parse_convert), (gst_base_parse_frame_in_segment):
* gst/flacparse/gstbaseparse.h:
Provide a vfunc for the subclass to decide whether a frame is inside
the segment or not and add a default implementation.
Fix approximate bitrate calculations.
2008-09-30 16:41:15 +00:00
Sebastian Dröge
5bd9d5cd17 gst/flacparse/gstbaseparse.c: Approximate the average bitrate, duration and size if possible and add a default conver...
Original commit message from CVS:
* gst/flacparse/gstbaseparse.c: (gst_base_parse_class_init),
(gst_base_parse_init), (gst_base_parse_push_buffer),
(gst_base_parse_update_upstream_durations), (gst_base_parse_chain),
(gst_base_parse_loop), (gst_base_parse_activate),
(gst_base_parse_convert), (gst_base_parse_query):
Approximate the average bitrate, duration and size if possible
and add a default conversion function which uses this for
time<->byte conversions.
* gst/flacparse/gstflacparse.c: (gst_flac_parse_get_frame_size):
Fix parsing if upstream gives -1 as duration.
2008-09-30 16:22:04 +00:00
Wim Taymans
aaee1a3d42 gst/rtpmanager/rtpsession.c: Ref the rtpsource object before we release the session lock when we emit the signals.
Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (on_new_ssrc), (on_ssrc_collision),
(on_ssrc_validated), (on_ssrc_active), (on_ssrc_sdes),
(on_bye_ssrc), (on_bye_timeout), (on_timeout), (on_sender_timeout):
Ref the rtpsource object before we release the session lock when we emit
the signals.
2008-09-30 15:08:52 +00:00
Sebastian Dröge
ba0a1f60ed Add FLAC parser, based on GstBaseParse. Also add the bit and byte reader that will be added to libgstbase later.
Original commit message from CVS:
* configure.ac:
* gst/flacparse/Makefile.am:
* gst/flacparse/gstbaseparse.c: (gst_base_parse_get_type),
(gst_base_parse_base_init), (gst_base_parse_base_finalize),
(gst_base_parse_finalize), (gst_base_parse_class_init),
(gst_base_parse_init), (gst_base_parse_check_frame),
(gst_base_parse_parse_frame), (gst_base_parse_bytepos_to_time),
(gst_base_parse_sink_event), (gst_base_parse_sink_eventfunc),
(gst_base_parse_src_event), (gst_base_parse_src_eventfunc),
(gst_base_parse_is_seekable), (gst_base_parse_push_buffer),
(gst_base_parse_handle_and_push_buffer), (gst_base_parse_drain),
(gst_base_parse_chain), (gst_base_parse_pull_range),
(gst_base_parse_loop), (gst_base_parse_sink_activate),
(gst_base_parse_activate), (gst_base_parse_sink_activate_push),
(gst_base_parse_sink_activate_pull), (gst_base_parse_set_duration),
(gst_base_parse_set_min_frame_size),
(gst_base_parse_get_querytypes), (gst_base_parse_query),
(gst_base_parse_handle_seek), (gst_base_parse_sink_setcaps):
* gst/flacparse/gstbaseparse.h:
* gst/flacparse/gstbitreader.c: (gst_bit_reader_new),
(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
(gst_bit_reader_skip_to_byte):
* gst/flacparse/gstbitreader.h:
* gst/flacparse/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
* gst/flacparse/gstbytereader.h:
* gst/flacparse/gstflac.c: (plugin_init):
* gst/flacparse/gstflacparse.c: (gst_flac_parse_base_init),
(gst_flac_parse_class_init), (gst_flac_parse_init),
(gst_flac_parse_finalize), (gst_flac_parse_start),
(gst_flac_parse_stop), (gst_flac_parse_get_frame_size),
(gst_flac_parse_check_valid_frame),
(gst_flac_parse_handle_streaminfo),
(gst_flac_parse_handle_vorbiscomment),
(gst_flac_parse_handle_picture), (_value_array_append_buffer),
(gst_flac_parse_handle_headers), (gst_flac_parse_generate_headers),
(gst_flac_parse_parse_frame):
* gst/flacparse/gstflacparse.h:
Add FLAC parser, based on GstBaseParse. Also add the bit and byte reader
that will be added to libgstbase later.
The FLAC parser is currently not 100% bug free and fails to get the
correct frame size for some frames in some streams.
2008-09-29 08:26:54 +00:00
Wim Taymans
5a97c0d534 gst/rtpmanager/: Fix some docs.
Original commit message from CVS:
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_insert),
(rtp_jitter_buffer_get_sync):
* gst/rtpmanager/rtpsession.c: (on_sender_timeout),
(session_cleanup):
* gst/rtpmanager/rtpsource.c:
Fix some docs.
2008-09-23 18:13:31 +00:00
Zaheer Abbas Merali
4c23ebf721 Patch from: Josep Torra
Original commit message from CVS:
Patch from: Josep Torra
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
Use a preallocated buffer per stream for PES packets sent on src pads.
Adaptively adjust buffer size appropriately.
2008-09-23 17:34:44 +00:00
Jan Schmidt
6cc8ef3018 Fix compiler warnings on OS/X
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (jack_process_cb):
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew):
Fix compiler warnings on OS/X
2008-09-17 13:59:21 +00:00
Stefan Kost
9294cda841 ext/celt/gstceltenc.h: Help gtk-doc to parse this correctly.
Original commit message from CVS:
* ext/celt/gstceltenc.h:
Help gtk-doc to parse this correctly.
* gst/pcapparse/gstpcapparse.c:
Add missing include.
2008-09-15 09:39:00 +00:00
Wim Taymans
c1647d0369 gst/rtpmanager/gstrtpbin.c: Do not try to adjust the offset of streams for which we have not yet seen an SR packet. A...
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session),
(gst_rtp_bin_associate), (gst_rtp_bin_sync_chain):
Do not try to adjust the offset of streams for which we have not yet
seen an SR packet. Avoids large ts-offsets in some cases.
2008-09-13 01:37:50 +00:00
Edward Hervey
7359989bdb gst/mpegdemux/: Fix conflicting public names in new mpeg demuxers.
Original commit message from CVS:
* gst/mpegdemux/flumpegdemux.c: (plugin_init):
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_sync_get_type),
(gst_flups_demux_get_type), (gst_flups_demux_plugin_init):
* gst/mpegdemux/gstmpegtsdemux.c: (gst_fluts_demux_get_type),
(gst_fluts_demux_plugin_init):
Fix conflicting public names in new mpeg demuxers.
Fixes #550468
2008-09-09 11:47:42 +00:00
Michael Smith
8618e452ae gst/aiffparse/aiffparse.c: Support chunks in AIFF in any order in pull mode, and any order so long as we get COMM bef...
Original commit message from CVS:
* gst/aiffparse/aiffparse.c:
Support chunks in AIFF in any order in pull mode, and any order so
long as we get COMM before the actual data (SSND) in push mode.
Fixes playback of AIFC files.
2008-09-09 01:14:10 +00:00
Wim Taymans
5d1c162f06 gst/selector/gstinputselector.c: Reset the selector state when going to READY.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_reset),
(gst_input_selector_reset), (gst_input_selector_change_state):
Reset the selector state when going to READY.
2008-09-08 20:27:23 +00:00
Wim Taymans
a35d1dde42 gst/rtpmanager/gstrtpbin.*: Add signal to notify listeners when a sender becomes a receiver.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (on_sender_timeout),
(create_session), (gst_rtp_bin_associate),
(gst_rtp_bin_sync_chain), (gst_rtp_bin_class_init),
(gst_rtp_bin_request_new_pad):
* gst/rtpmanager/gstrtpbin.h:
Add signal to notify listeners when a sender becomes a receiver.
Tweak lip-sync code, don't store our own copy of the ts-offset of the
jitterbuffer, don't adjust sync if the change is less than 4msec.
Get the RTP timestamp <-> GStreamer timestamp relation directly from
the jitterbuffer instead of our inaccurate version from the source.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop),
(gst_rtp_jitter_buffer_get_sync):
* gst/rtpmanager/gstrtpjitterbuffer.h:
Add G_LIKELY macros, use global defines for max packet reorder and
dropouts.
Reset the jitterbuffer clock skew detection when packets seqnums are
changed unexpectedly.
* gst/rtpmanager/gstrtpsession.c: (on_sender_timeout),
(gst_rtp_session_class_init), (gst_rtp_session_init):
* gst/rtpmanager/gstrtpsession.h:
Add sender timeout signal.
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew),
(calculate_skew), (rtp_jitter_buffer_insert),
(rtp_jitter_buffer_get_sync):
* gst/rtpmanager/rtpjitterbuffer.h:
Add some G_LIKELY macros.
Keep track of the extended RTP timestamp so that we can report the RTP
timestamp <-> GStreamer timestamp relation for lip-sync.
Remove server timestamp gap detection code, the server can sometimes
make a huge gap in timestamps (talk spurts,...) see #549774.
Detect timetamp weirdness instead by observing the sender/receiver
timestamp relation and resync if it changes more than 1 second.
Add method to report about the current rtp <-> gst timestamp relation
which is needed for lip-sync.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(on_sender_timeout), (check_collision), (rtp_session_process_sr),
(session_cleanup):
* gst/rtpmanager/rtpsession.h:
Add sender timeout signal.
Remove inaccurate rtp <-> gst timestamp relation code, the
jitterbuffer can now do an accurate reporting about this.
* gst/rtpmanager/rtpsource.c: (rtp_source_init),
(rtp_source_update_caps), (calculate_jitter),
(rtp_source_process_rtp):
* gst/rtpmanager/rtpsource.h:
Remove inaccurate rtp <-> gst timestamp relation code.
* gst/rtpmanager/rtpstats.h:
Define global max-reorder and max-dropout constants for use in various
subsystems.
2008-09-05 13:52:34 +00:00
Edward Hervey
104ca25ceb gst/mpegdemux/: Fix build on macosx.
Original commit message from CVS:
* gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_parse_pack_start):
* gst/mpegdemux/gstmpegtsdemux.c: (gst_fluts_demux_data_cb):
Fix build on macosx.
2008-09-02 17:43:42 +00:00
Zaheer Abbas Merali
555486f865 Add Fluendo MPEG PS and TS demuxers to gst-plugins-bad. This is now dual licensed MPL and LGPL.
Original commit message from CVS:
* configure.ac:
* gst/mpegdemux/Makefile.am:
* gst/mpegdemux/flumpegdemux.c:
* gst/mpegdemux/flutspatinfo.c:
* gst/mpegdemux/flutspatinfo.h:
* gst/mpegdemux/flutspmtinfo.c:
* gst/mpegdemux/flutspmtinfo.h:
* gst/mpegdemux/flutspmtstreaminfo.c:
* gst/mpegdemux/flutspmtstreaminfo.h:
* gst/mpegdemux/gstmpegdefs.h:
* gst/mpegdemux/gstmpegdemux.c:
* gst/mpegdemux/gstmpegdemux.h:
* gst/mpegdemux/gstmpegdesc.c:
* gst/mpegdemux/gstmpegdesc.h:
* gst/mpegdemux/gstmpegtsdemux.c:
* gst/mpegdemux/gstmpegtsdemux.h:
* gst/mpegdemux/gstpesfilter.c:
* gst/mpegdemux/gstpesfilter.h:
* gst/mpegdemux/gstsectionfilter.c:
* gst/mpegdemux/gstsectionfilter.h:
Add Fluendo MPEG PS and TS demuxers to gst-plugins-bad. This
is now dual licensed MPL and LGPL.
2008-09-02 12:04:32 +00:00