summaryrefslogtreecommitdiffstats
path: root/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2008-10-09gst/flv/gstflvparse.c: Correct caps for video codec id 5: It's On2 VP6 with ↵Sebastian Dröge1-0/+14
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-09gst/flv/gstflvdemux.c: Go out of the parse loop as soon as we get an error ↵Sebastian Dröge1-0/+10
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-09gst/flv/: Add first version of a FLV muxer. The only missing feature is ↵Sebastian Dröge1-0/+16
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-09ext/amrwb/gstamrwbparse.*: Add flush seek handler. Taken from recent ↵Stefan Kost1-0/+7
armnbparse changes. Original commit message from CVS: * ext/amrwb/gstamrwbparse.c: * ext/amrwb/gstamrwbparse.h: Add flush seek handler. Taken from recent armnbparse changes. Sync the code more and use #defines for HEADER.
2008-10-09ext/amrwb/gstamrwbparse.*: Fix the duration query. Also set caps on the pads ↵Stefan Kost1-0/+7
and buffers more correctly. Taken from r... Original commit message from CVS: * ext/amrwb/gstamrwbparse.c: * ext/amrwb/gstamrwbparse.h: Fix the duration query. Also set caps on the pads and buffers more correctly. Taken from recent armnbparse changes.
2008-10-08gst/mpegdemux/: Add Fluendo to the Long Name.Zaheer Abbas Merali1-0/+6
Original commit message from CVS: * gst/mpegdemux/gstmpegdemux.c: * gst/mpegdemux/gstmpegtsdemux.c: Add Fluendo to the Long Name.
2008-10-08Move of mpegtsparse to mpegdemux.Zaheer Abbas Merali1-0/+15
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-08gst/mpegdemux/gstmpegdemux.c: Prevent a division by zero if last mux rate ↵Sebastian Dröge1-0/+15
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-07ext/resindvd/resindvdsrc.c: Fix next/prev chapter seeking at the beginning ↵Jan Schmidt1-0/+7
or end. Original commit message from CVS: * ext/resindvd/resindvdsrc.c: Fix next/prev chapter seeking at the beginning or end. Use 64-bit scaling utility functions for converting MPEG timestamps.
2008-10-07gst/rtpmanager/gstrtpbin-marshal.list: Add marshaller for new action signal.Håvard Graff1-0/+22
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-07gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes ↵Stefan Kost1-0/+5
#555244 Original commit message from CVS: * gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
2008-10-07gst/rtpmanager/gstrtpbin.c: Release pads of the session manager.Wim Taymans1-0/+14
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-07gst/rtpmanager/gstrtpjitterbuffer.c: Only update the seqnum-base when it was ↵Wim Taymans1-1/+8
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-06configure.acStefan Kost1-0/+19
Original commit message from CVS: * configure.ac * ext/metadata/README: * ext/metadata/metadataexif.c: * ext/metadata/metadatatags.c: * ext/metadata/metadatatags.h: Start using core geo tags (bump req). Fix handling of location references. * tests/check/Makefile.am: Sort blacklisted elements and remove moved ones. Add new test. * tests/check/pipelines/metadata.c: Add first tests for metadata element. * tests/icles/metadata_editor.c: Move free to correct place.
2008-10-06tests/check/generic/states.c: Stop test on state-change error. Should be ↵Stefan Kost1-0/+14
applied on other modules if we agree that it... Original commit message from CVS: * tests/check/generic/states.c: Stop test on state-change error. Should be applied on other modules if we agree that it makes sense.
2008-10-06gst/mpegtsparse/mpegtsparse.c: Actually copy the structure passed in when ↵Zaheer Abbas Merali1-0/+7
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-06gst/mpegdemux/gstmpegtsdemux.c: Fix wrong firing of critical introduced by ↵Zaheer Abbas Merali1-0/+7
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-03ext/faac/gstfaac.c: Warn and clamp to max bitrate for samplerate.Wim Taymans1-0/+6
Original commit message from CVS: * ext/faac/gstfaac.c: (gst_faac_configure_source_pad): Warn and clamp to max bitrate for samplerate. Fixes #550486.
2008-10-03gst/mpegtsparse/mpegtsparse.c: Fix possible crash where pat is pointing to a ↵Zaheer Abbas Merali1-0/+5
freed structure. Original commit message from CVS: * gst/mpegtsparse/mpegtsparse.c: Fix possible crash where pat is pointing to a freed structure.
2008-10-03ext/metadata/: Add mapping of format and mime type to xmp.Stefan Kost1-1/+8
Original commit message from CVS: * ext/metadata/metadata_mapping.htm: * ext/metadata/metadataxmp.c: * ext/metadata/Makefile.am: Add mapping of format and mime type to xmp.
2008-10-02ext/metadata/: Reverting. Will need to wait for core 0.10.21 release.Stefan Kost1-0/+8
Original commit message from CVS: * ext/metadata/README: * ext/metadata/metadataexif.c: * ext/metadata/metadatatags.c: * ext/metadata/metadatatags.h: Reverting. Will need to wait for core 0.10.21 release.
2008-10-02ext/metadata/: Use core gsp tags.Stefan Kost1-0/+8
Original commit message from CVS: * ext/metadata/README: * ext/metadata/metadataexif.c: * ext/metadata/metadatatags.c: * ext/metadata/metadatatags.h: Use core gsp tags.
2008-09-30gst/flacparse/gstbaseparse.c: Add support for GstIndex.Sebastian Dröge1-0/+8
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-30gst/flacparse/gstbaseparse.*: Provide a vfunc for the subclass to decide ↵Sebastian Dröge1-0/+12
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-30gst/flacparse/gstbaseparse.c: Approximate the average bitrate, duration and ↵Sebastian Dröge1-0/+14
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-30gst/rtpmanager/rtpsession.c: Ref the rtpsource object before we release the ↵Wim Taymans1-0/+8
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-30sys/: New plugin for audio capture and playback using Windows Audio SessionOle André Vadla Ravnås1-0/+18
Original commit message from CVS: * sys/Makefile.am: * sys/wasapi/Makefile.am: * sys/wasapi/gstwasapi.c: * sys/wasapi/gstwasapisink.c: * sys/wasapi/gstwasapisink.h: * sys/wasapi/gstwasapisrc.c: * sys/wasapi/gstwasapisrc.h: * sys/wasapi/gstwasapiutil.c: * sys/wasapi/gstwasapiutil.h: New plugin for audio capture and playback using Windows Audio Session API (WASAPI) available with Vista and newer (#520901). Comes with hardcoded caps and obviously needs lots of love. Haven't had time to work on this code since it was written, was initially just a quick experiment to play around with this new API.
2008-09-30sys/dshowdecwrapper/gstdshowaudiodec.cppOle André Vadla Ravnås1-0/+6
Original commit message from CVS: * sys/dshowdecwrapper/gstdshowaudiodec.cpp (AudioFakeSink.DoRenderSample): Fix a couple of signed/unsigned comparison warnings.
2008-09-30sys/dshowdecwrapper/: Use the _T() macro to support both Unicode and MBCS.Ole André Vadla Ravnås1-0/+6
Original commit message from CVS: * sys/dshowdecwrapper/gstdshowaudiodec.h (AudioFakeSink.AudioFakeSink): * sys/dshowdecwrapper/gstdshowvideodec.h (VideoFakeSink.VideoFakeSink): Use the _T() macro to support both Unicode and MBCS.
2008-09-30ext/libmms/gstmms.c (plugin_init): Fix return type of the ↵Ole André Vadla Ravnås1-0/+5
GstURIHandler::get_type() implementation. Original commit message from CVS: * ext/libmms/gstmms.c (plugin_init): Fix return type of the GstURIHandler::get_type() implementation.
2008-09-29Add FLAC parser, based on GstBaseParse. Also add the bit and byte reader ↵Sebastian Dröge1-0/+59
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-27ext/resindvd/: Add in Title/Chapter seeking, and simple but buggy audio and ↵Jan Schmidt1-0/+10
subtitle stream selection. Original commit message from CVS: * ext/resindvd/gstmpegdemux.c: * ext/resindvd/gstmpegdemux.h: * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdsrc.c: * ext/resindvd/rsnstreamselector.c: Add in Title/Chapter seeking, and simple but buggy audio and subtitle stream selection.
2008-09-24sys/dshowdecwrapper/: Prefer known-good filters, create directly by GUID if ↵Michael Smith1-0/+14
possible, fall back to creating highest-m... Original commit message from CVS: * sys/dshowdecwrapper/gstdshowaudiodec.cpp: * sys/dshowdecwrapper/gstdshowaudiodec.h: * sys/dshowdecwrapper/gstdshowfakesrc.cpp: * sys/dshowdecwrapper/gstdshowutil.cpp: * sys/dshowdecwrapper/gstdshowutil.h: * sys/dshowdecwrapper/gstdshowvideodec.cpp: * sys/dshowdecwrapper/gstdshowvideodec.h: Prefer known-good filters, create directly by GUID if possible, fall back to creating highest-merit filter otherwise. Fixes playback with random dshow filters installed in some cases.
2008-09-23gst/rtpmanager/: Fix some docs.Wim Taymans1-0/+9
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-23Patch from: Josep TorraZaheer Abbas Merali1-0/+9
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-17ext/neon/gstneonhttpsrc.c: Clean up the debug logging code and #ifdef mess a ↵Tim-Philipp Müller1-0/+10
bit: whether or not gstreamer debug mess... Original commit message from CVS: * ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_start), (gst_neonhttp_src_send_request_and_redirect): Clean up the debug logging code and #ifdef mess a bit: whether or not gstreamer debug messages should be output should not depend on an element property; also, GST_ELEMENT_ERROR will leave a line in the log already, so merge the more useful debug log messages with the less useful error debug strings.
2008-09-17ext/neon/gstneonhttpsrc.c: Don't post LIBRARY_INIT errors where we should be ↵Tim-Philipp Müller1-0/+6
posting Original commit message from CVS: * ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_start): Don't post LIBRARY_INIT errors where we should be posting RESOURCE OPEN_READ errors. Fixes #552506.
2008-09-17Fix compiler warnings on OS/XJan Schmidt1-0/+6
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-17sys/dvb/gstdvbsrc.c: Add adapter_name for bus message in ATSC case. Fixes ↵Michael Krufky1-0/+7
#552536. Original commit message from CVS: patch by: Michael Krufky * sys/dvb/gstdvbsrc.c: Add adapter_name for bus message in ATSC case. Fixes #552536.
2008-09-15ext/celt/gstceltenc.h: Help gtk-doc to parse this correctly.Stefan Kost1-0/+8
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-15examples/Makefile.am: Only built scaletempo example if we have gtk.Stefan Kost1-0/+5
Original commit message from CVS: * examples/Makefile.am: Only built scaletempo example if we have gtk.
2008-09-13gst/rtpmanager/gstrtpbin.c: Do not try to adjust the offset of streams for ↵Wim Taymans1-0/+7
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-10sys/dshowdecwrapper/: Major rewrite of dshowdecwrapper. Converts code toMichael Smith1-0/+22
Original commit message from CVS: * sys/dshowdecwrapper/Makefile.am: * sys/dshowdecwrapper/gstdshowaudiodec.c: * sys/dshowdecwrapper/gstdshowaudiodec.cpp: * sys/dshowdecwrapper/gstdshowaudiodec.h: * sys/dshowdecwrapper/gstdshowdecwrapper.c: * sys/dshowdecwrapper/gstdshowdecwrapper.cpp: * sys/dshowdecwrapper/gstdshowdecwrapper.h: * sys/dshowdecwrapper/gstdshowfakesrc.cpp: * sys/dshowdecwrapper/gstdshowfakesrc.h: * sys/dshowdecwrapper/gstdshowutil.cpp: * sys/dshowdecwrapper/gstdshowutil.h: * sys/dshowdecwrapper/gstdshowvideodec.c: * sys/dshowdecwrapper/gstdshowvideodec.cpp: * sys/dshowdecwrapper/gstdshowvideodec.h: Major rewrite of dshowdecwrapper. Converts code to C++, moves to direct use of DirectShow base classes, make a lot of code clearer, simplify, etc. Fix decode of MP3 on Vista by working around an apparent bug in the decoder.
2008-09-10sys/winks/gstksclock.c (gst_ks_clock_worker_thread_func, gst_ks_clock_start):Ole André Vadla Ravnås1-0/+10
Original commit message from CVS: * sys/winks/gstksclock.c (gst_ks_clock_worker_thread_func, gst_ks_clock_start): Synchronize KS clock as a single-shot operation for now, there's not much point in doing it periodically until we're actually using the KS timestamps for anything else than just discarding old frames. * sys/winks/gstksvideosrc.c (gst_ks_video_src_open_device): Provide the GstClock when opening the device if we already have one.
2008-09-09sys/winks/gstksvideodevice.c (GST_DEBUG_IS_ENABLED, last_timestamp, ↵Ole André Vadla Ravnås1-0/+52
gst_ks_video_device_prepare_buffers, gst_ks_video... Original commit message from CVS: * sys/winks/gstksvideodevice.c (GST_DEBUG_IS_ENABLED, last_timestamp, gst_ks_video_device_prepare_buffers, gst_ks_video_device_create_pin, gst_ks_video_device_set_state, gst_ks_video_device_request_frame, gst_ks_video_device_read_frame): Guard against capturing old frames by keeping track of the last timestamp and also zero-fill the buffers before each capture. Only assign a master clock if the pin hasn't already got one. Actually free buffers on the way down to avoid a huge memory leak, as this was previously done when changing state to ACQUIRE downwards and we now skip that state on the way down. Add some debug. * sys/winks/gstksvideosrc.c (DEFAULT_DEVICE_PATH, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_INDEX, KS_WORKER_LOCK, KS_WORKER_UNLOCK, KS_WORKER_WAIT, KS_WORKER_NOTIFY, KS_WORKER_WAIT_FOR_RESULT, KS_WORKER_NOTIFY_RESULT, KS_WORKER_STATE_STARTING, KS_WORKER_STATE_READY, KS_WORKER_STATE_STOPPING, KS_WORKER_STATE_ERROR, KsWorkerState, device_path, device_name, device_index, running, worker_thread, worker_lock, worker_notify_cond, worker_result_cond, worker_state, worker_pending_caps, worker_setcaps_result, worker_pending_run, worker_run_result, gst_ks_video_src_reset, gst_ks_video_src_apply_driver_quirks, gst_ks_video_src_open_device, gst_ks_video_src_close_device, gst_ks_video_src_worker_func, gst_ks_video_src_start_worker, gst_ks_video_src_stop_worker, gst_ks_video_src_change_state, gst_ks_video_src_set_clock, gst_ks_video_src_set_caps, gst_ks_video_src_timestamp_buffer, gst_ks_video_src_create): Remove ENABLE_CLOCK_DEBUG define, it's GST_LEVEL_DEBUG after all. Get rid of PROP_ENSLAVE_KSCLOCK and always slave the ks clock to the GStreamer clock, it doesn't seem to hurt and matches DirectShow's behavior. As an added bonus we usually get PresentationTime set for each frame, so we can expand on this later for smarter latency reporting (by looking at the diff between the timestamp from the driver and the time according to the GStreamer clock). Use an internal worker thread for opening the device, setting caps, changing its state and closing it. This way we're a lot more compatible with drivers that rely on hacks to do video-effects between the low-level NT API and the application. Ick. Start the ks clock and set the pin to KSSTATE_RUN on the first create() so that we'll hopefully get hold of the GStreamer clock from the very beginning. This way there's no chance that the timestamps will make a sudden jump in the beginning of the stream when we're running with a clock. * sys/winks/kshelpers.c (CHECK_OPTIONS_FLAG, ks_options_flags_to_string): Reorder the flags to match the headerfile order, and make the string a bit more compact. * sys/winks/ksvideohelpers.c (ks_video_probe_filter_for_caps): Avoid leaking KSPROPERTY_PIN_DATARANGES.
2008-09-09Add jp2k plugin. Fixes #550657.Mark Nauwelaerts1-0/+15
Original commit message from CVS: * configure.ac: * ext/Makefile.am: * ext/jp2k/Makefile.am: * ext/jp2k/gstjasperdec.c: (gst_jasper_dec_base_init), (gst_jasper_dec_class_init), (gst_jasper_dec_init), (gst_jasper_dec_reset), (gst_jasper_dec_sink_setcaps), (gst_jasper_dec_negotiate), (gst_jasper_dec_get_picture), (gst_jasper_dec_chain), (gst_jasper_dec_set_property), (gst_jasper_dec_get_property), (gst_jasper_dec_change_state), (plugin_init): * ext/jp2k/gstjasperdec.h: Add jp2k plugin. Fixes #550657.
2008-09-09gst/mpegdemux/: Fix conflicting public names in new mpeg demuxers.Edward Hervey1-0/+10
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-09gst/aiffparse/aiffparse.c: Support chunks in AIFF in any order in pull mode, ↵Michael Smith1-0/+7
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-08gst/selector/gstinputselector.c: Reset the selector state when going to READY.Wim Taymans1-0/+6
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-05gst/rtpmanager/gstrtpbin.*: Add signal to notify listeners when a sender ↵Wim Taymans1-0/+59
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.