Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (free_session):
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_finalize):
Avoid leaking pads in the RTP manager.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
Cable delivery subsystem descriptors' frequency's bcd
is measured in 100Hz units so adjust multiplier accordingly.
Original commit message from CVS:
* gst/nsf/Makefile.am:
* gst/nsf/fds_snd.c:
* gst/nsf/mmc5_snd.c:
* gst/nsf/nsf.c:
* gst/nsf/types.h:
* gst/nsf/vrc7_snd.c:
* gst/nsf/vrcvisnd.c:
* gst/nsf/memguard.c:
* gst/nsf/memguard.h:
Remove memguard again and apply hopefully all previously dropped
local patches. Should be really better than the old version now.
Original commit message from CVS:
* gst/nsf/memguard.c: (_my_free):
* gst/nsf/types.h:
Unbreak compilation by disabling memguard and doing some dirty hack
fixes to make it compile on 64bits.
Original commit message from CVS:
* gst/selector/gstinputselector.c:
(gst_input_selector_set_active_pad), (gst_input_selector_switch):
Do g_object_notify() only when not holding the lock to get the property
because otherwise we run into a deadlock with the deep-notify handlers
that are possibly installed.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_event), (gst_selector_pad_bufferalloc),
(gst_selector_pad_chain), (gst_input_selector_set_active_pad):
Release the selector lock when pad alloc happens on a non selected pad.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_init), (gst_selector_pad_set_property),
(gst_selector_pad_get_property), (gst_selector_pad_event),
(gst_selector_pad_bufferalloc), (gst_selector_pad_chain),
(gst_input_selector_set_active_pad):
Add pad property to configure behaviour of the unselected pad, it can
return OK or NOT_LINKED, based on the use case.
Original commit message from CVS:
* gst/selector/gstinputselector.c:
(gst_selector_pad_get_running_time), (gst_selector_pad_reset),
(gst_selector_pad_event), (gst_selector_pad_bufferalloc),
(gst_input_selector_wait), (gst_selector_pad_chain),
(gst_input_selector_class_init), (gst_input_selector_init),
(gst_input_selector_dispose), (gst_segment_set_start),
(gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_get_property),
(gst_input_selector_get_linked_pad),
(gst_input_selector_is_active_sinkpad),
(gst_input_selector_activate_sinkpad),
(gst_input_selector_request_new_pad),
(gst_input_selector_release_pad),
(gst_input_selector_change_state), (gst_input_selector_block),
(gst_input_selector_switch):
* gst/selector/gstinputselector.h:
Figure out the locking a bit more.
Mark buffers with discont after switching.
Fix initial segment forwarding, make sure to only forward one segment
regardless of what the sequence of buffers/segments is. See #522203.
Improve flushing when blocked.
Return NOT_LINKED when a stream is not selected.
Not API change for the switch signal in the docs.
Fix start/time/accum values of the new segment.
Correctly unlock and flush a blocking selector when going to READY.
Original commit message from CVS:
* gst/freeze/FAQ:
* gst/freeze/Makefile.am:
* gst/freeze/gstfreeze.c:
Add example to source code documentation blob and remove the 3 line
FAQ.
* gst/interleave/interleave.c:
Add a source code documentation blob.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_event),
(gst_selector_pad_bufferalloc), (gst_selector_pad_chain),
(gst_input_selector_class_init),
(gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_push_pending_stop):
Add lots of debugging.
Fix time member in the newsegment event.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_input_selector_class_init),
(gst_input_selector_init), (gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_get_property),
(gst_input_selector_request_new_pad),
(gst_input_selector_release_pad),
(gst_input_selector_push_pending_stop),
(gst_input_selector_switch):
* gst/selector/gstinputselector.h:
Various cleanups.
Added tags to the pads.
Select active pad based on the pad object instead of its name.
Fix refcount in set_active_pad.
Add property to get the number of pads.
* gst/selector/gstoutputselector.c:
(gst_output_selector_class_init),
(gst_output_selector_set_property),
(gst_output_selector_get_property):
Various cleanups.
Select the active pad based on the pad object instead of its name.
Fix locking when setting the active pad.
* gst/selector/gstselector-marshal.list:
* tests/check/elements/selector.c: (cleanup_pad),
(selector_set_active_pad), (run_input_selector_buffer_count):
Fixes for pad instead of padname for pad selection.
Original commit message from CVS:
Based on patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_init),
(rtcp_thread), (start_rtcp_thread), (stop_rtcp_thread),
(join_rtcp_thread), (gst_rtp_session_change_state):
Avoid a deadlock when joining the RTCP thread in PAUSED because it might
be blocked downstream. Also avoid spawning multiple rtcp threads.
Fixes#520894.
Original commit message from CVS:
Patch by: Stefan Kost <ensonic@users.sf.net>
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew):
Don't try to reset the clock skew when we have no timestamps.
Fixes#519005.
Original commit message from CVS:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
Add parsing of cable delivery system descriptor.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx dot net>
* gst/mve/gstmvedemux.c: (gst_mve_audio_data),
(gst_mve_demux_get_type):
Fix audio discontinuity that happens when silent chunks are
followed by real data again. Fixes bug #519905.
Original commit message from CVS:
* gst/mpegtsparse/mpegtsparse.c:
Only send PMTs to program pads that the PMT is for even if
on same pid.
As a by-product, we now no longer hardcode any psi pid numbers.
Also remove pcr stream from old pmt when we apply a new pmt.
Original commit message from CVS:
* gst/selector/gstinputselector.c:
* gst/selector/gstinputselector.h:
Added "select-all" property to make it work like aggregator in 0.8.
* gst/selector/gstoutputselector.c:
Fix resend-latest behavoiur.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/selector.c:
Add unit tests for selector.
Original commit message from CVS:
* configure.ac:
* ext/mpeg2enc/Makefile.am:
* ext/soundtouch/Makefile.am:
* gst/modplug/Makefile.am:
Check for and define ERROR_CXXFLAGS and GST_CXXFLAGS and use them
when building C++ code.
Original commit message from CVS:
Patch by: Olivier Crete <tester@tester.ca>
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate):
Ignore streams that did not receive an SR packet when doing
synchronisation. Fixes#516160.
Original commit message from CVS:
* gst/dvdspu/gstdvdspu.c: (gst_dvd_spu_handle_new_spu_buf):
Set n_line_ctrl_i to 0 whenever we free line_ctrl_i. Patch based
on an idea by Jan Schmidt, fixes bug #516436.
Original commit message from CVS:
* gst/mpegtsparse/gstmpegdesc.c:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtsparse.c:
Make sure the gstmpegdesc debug lines do not critical
when GST_DEBUG is enabled and also actually output.
Thanks to Alessandro Decina for spotting.
Fixes#516448
Original commit message from CVS:
* ext/xvid/gstxvidenc.c:
* gst/vmnc/vmncdec.c:
* sys/glsink/glimagesink.c:
* sys/glsink/gstgldisplay.c:
Fix some finalize leaks by chaining up to the parent method.
Original commit message from CVS:
* gst/selector/Makefile.am:
Listing the marshal.h in the nodist_HEADERS breaks distcheck, so
let's not do that
* tests/check/Makefile.am:
Disable the crashing cdaudio plugin from the states test so I can make
pre-releases.
Original commit message from CVS:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesrc.c:
Use g_file_[sg]et_contents() instead of using stdio functions.
Should be less error prone.
* tests/check/elements/multifile.c:
Create a temporary directory using standard functions instead of
creating a directory in the current dir.
Original commit message from CVS:
* configure.ac:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/inspect/plugin-xingheader.xml:
* gst/xingheader/Makefile.am:
* gst/xingheader/gstxingmux.c:
* gst/xingheader/gstxingmux.h:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/xingmux.c:
* tests/check/elements/xingmux_testdata.h:
Remove the xingmux plugin, as the element has moved into
mpegaudioparse in -ugly.
Original commit message from CVS:
* ext\neon\gstneonhttpsrc.c:
Include unistd.h only if _HAVE_UNISTD_H is defined
* gst\mpegvideoparse\mpegvideoparse.c:
Use G_GUINT64_CONSTANT GLIB macro for constant
* sys\dshowsrcwrapper\gstdshowaudiosrc.c:
* sys\dshowsrcwrapper\gstdshowvideosrc.c:
* sys\dshowdecwrapper\gstdshowaudiodec.c:
* sys\dshowdecwrapper\gstdshowaudiodec.h:
* sys\dshowdecwrapper\gstdshowdecwrapper.c:
* sys\dshowdecwrapper\gstdshowdecwrapper.h:
* sys\dshowdecwrapper\gstdshowvideodec.c
* sys\dshowdecwrapper\gstdshowvideodec.h:
Add a DirectShow decoder wrapper.
* win32\MANIFEST:
Add new win32 files to MANIFEST
* win32\vs6\gst_plugins_bad.dsw:
* win32\vs6\libgstdshow.dsp:
* win32\vs6\libgstdshowdecwrapper.dsp:
* win32\vs6\libgstflv.dsp:
Add new projects to bad workspace
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
Parse component descriptor.
* gst/mpegtsparse/mpegtsparse.c:
Add SI pids to every program (but hardcoded currently).
Original commit message from CVS:
* gst/multifile/gstmultifilesink.c:
Add a fixme comment.
* gst/selector/gstoutputselector.c:
Fix same leak as in input-selector.
* tests/icles/output-selector-test.c:
Improve the test.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
Add flag to both sdt and nit structures to say
whether the table is for the actual network/ts
or not.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_event):
Don't leak event on pads that are not linked. Fixes#512826.
Original commit message from CVS:
* configure.ac:
Bump core/base requirements to released versions, to avoid confusion.
* gst/deinterlace/Makefile.am:
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_set_caps):
Use the new GstVideoFormat API to get strides, plane offsets etc..
For Y42B we still need to calculate these ourselves, since the lib
in -base doesn't know about this format yet and we can't bump the
requirement to CVS right now. Fix the Y42B stride, offset and size
calculations for odd widths and heights while we're at it though
(to match those in videotestsrc).
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain):
Try to get the new clock-rate from the buffer caps when we receive a new
payload type instead of always firing the signal. Fixes#512774.
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_forward):
Try to avoid 'unused variable' compiler warning if debugging is
disabled (not bullet proof, but seems to do for now). (#512654)
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
Don't implement get_unit_size() ourselves, the GstAudioFilter base
class already does this for us.
Original commit message from CVS:
Patch by: Olivier Crete <tester@tester.ca>
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate),
(create_stream), (payload_type_change), (new_ssrc_pad_found):
Also handle lip-sync when the clock-rate is not provided with caps but
with a signal.
Original commit message from CVS:
Patch by: Olivier Crete <tester@tester.ca>
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain):
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew),
(rtp_jitter_buffer_insert):
* gst/rtpmanager/rtpjitterbuffer.h:
Remove the fixed clock-rate from the jitterbuffer and extend it so that
a clock-rate can be provided with each buffer instead. Fixes#511686.
Original commit message from CVS:
Patch by: Olivier Crete <tester@tester.ca>
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_change_state),
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop):
Remove old unused variable.
Track pt on input buffers and get the clock-rate when it changes.
Ignore packets with unknown clock-rate. See #511686.
Original commit message from CVS:
Patch by: Olivier Crete <tester@tester.ca>
* gst/rtpmanager/rtpsource.c: Fix unref of buffer using the
wrong function. Fixes#511920
Original commit message from CVS:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
Fix network name descriptor, the length is actually the
descriptor length not stored in the byte after.
Fix bounds checking to be more correct.
Original commit message from CVS:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
Parse and add to relevant bus messages the terrestrial delivery
system descriptor and the logical channel descriptor.
Do bounds checking on data stored in descriptor before use.
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.
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.
Original commit message from CVS:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
Parsed the satellite delivery system descriptor and
added into nit's transport structure for delivery
over the bus.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
Remove leaks introduced by not freeing g_strndup'd strings.
Fix start_time and duration parsing in EIT.
Original commit message from CVS:
* gst/mpegtsparse/Makefile.am:
* gst/mpegtsparse/gstmpegdesc.c:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtsparse.c:
Added descriptor searching infrastructure from Fluendo TS demuxer.
Add channel name and provider to the sdt structure sent in the
bus message.
Original commit message from CVS:
2008-01-22 Julien Moutte <julien@fluendo.com>
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_forward):
Parse NAL units in forward mode to mark delta units flags.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* gst/nuvdemux/gstnuvdemux.c:
One less to do. Its 'nuv' not 'nvu'. As an extra bonus I mention what
it actually is.
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:
Update lists again. Those whole can build ivorbisdec, mythtvsrc,
nvudemux and theoradecexp, please commit the inspect/plugin-xxx.xml.
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-rawparse.xml
* docs/plugins/inspect/plugin-videoparse.xml:
Replace videoparse with rawparse.
* gst/dvdspu/gstdvdspu.h:
Help gtk-doc to recognize the object struct.
Original commit message from CVS:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
Don't use gtk-doc comment style for non gtk-doc comments.
Make one static function static.
Original commit message from CVS:
Patch by: Gabriel Bouvigne <bouvigne at mp3-tech dot org>
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init),
(gst_deinterlace_init), (gst_deinterlace_set_caps),
(gst_deinterlace_transform_ip), (gst_deinterlace_set_property),
(gst_deinterlace_get_property):
* gst/deinterlace/gstdeinterlace.h:
Provide 4:2:2 support
Also deinterlace chroma planes
Allow to turn on/off deinterlacing
Change of default thresholds, in order to provide acceptable results
with default params. Fixes#511001.
Original commit message from CVS:
* gst/dvdspu/gstdvdspu-render.c: (gst_dvd_spu_render_spu):
* gst/dvdspu/gstdvdspu.c: (dvdspu_debug), (GST_CAT_DEFAULT),
(subpic_sink_factory), (gst_dvd_spu_base_init),
(gst_dvd_spu_class_init), (gst_dvd_spu_init), (gst_dvd_spu_clear),
(gst_dvd_spu_dispose), (gst_dvd_spu_finalize),
(gst_dvd_spu_flush_spu_info), (gst_dvd_spu_buffer_alloc),
(gst_dvd_spu_src_event), (gst_dvd_spu_video_set_caps),
(gst_dvd_spu_video_proxy_getcaps), (gst_dvd_spu_video_event),
(gst_dvd_spu_video_chain), (dvspu_handle_vid_buffer),
(gst_dvd_spu_redraw_still), (gst_dvd_spu_parse_chg_colcon),
(gst_dvd_spu_exec_cmd_blk), (gst_dvd_spu_finish_spu_buf),
(gst_dvd_spu_setup_cmd_blk), (gst_dvd_spu_handle_new_spu_buf),
(gst_dvd_spu_handle_dvd_event), (gst_dvd_spu_advance_spu),
(gst_dvd_spu_check_still_updates), (gst_dvd_spu_subpic_chain),
(gst_dvd_spu_subpic_event), (gst_dvd_spu_change_state),
(gst_dvd_spu_plugin_init):
* gst/dvdspu/gstdvdspu.h: (GST_TYPE_DVD_SPU):
Fix up dvdspu element again after previous namespace mangling:
rename debug category variable to old name, matching that in
dvdspu-render.c, to avoid undefined symbol error when loading
the module; same for the _render function in dvdspu-render.c:
we must use the same name in both .c files; change functions
now called gstgst_* back to gst_* again; and while we're at it,
we may as well canonicalise the namespace properly, namely to
gst_dvd_spu_*.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Add symbols from -unused.txt to the right place.
* gst/dvdspu/gstdvdspu.c:
* gst/dvdspu/gstdvdspu.h:
Coherent namespace usage.
* gst/spectrum/gstspectrum.c:
Fix broken XML fragment in doc snippet even more.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_push_buffer),
(gst_raw_parse_loop):
Handle framesizes > 4096 with multiple frames per buffer correctly
in pull mode and handle short reads better.
Also put offset and offset_end on outgoing buffers.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_loop):
Improve handling of unknown or too small upstream sizes in
pull mode.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_loop),
(gst_raw_parse_handle_seek_push):
Improve debugging a bit and for handling multiple frames per buffer
in pull mode choose the next smallest multiply of framesize below
4096 instead of always handling 1024 frames.
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_flush_decode),
(gst_h264_parse_queue_buffer), (gst_h264_parse_chain_reverse):
Set timestamps more correctly.
Original commit message from CVS:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_finalize):
Unparent all bands from the equalizer when finalizing to stop
leaking them.
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.
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.
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
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate):
If we find the caps in the cache, use it to parse the clock-rate instead
of returning an error. Fixes a TODO as found by Youness Alaoui.
Original commit message from CVS:
Patch by: Youness Alaoui <youness dot alaoui at collabora dot co dot uk>
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate):
* gst/rtpmanager/rtpsession.c: (rtp_session_set_callbacks),
(rtp_session_set_process_rtp_callback),
(rtp_session_set_send_rtp_callback),
(rtp_session_set_send_rtcp_callback),
(rtp_session_set_sync_rtcp_callback),
(rtp_session_set_clock_rate_callback),
(rtp_session_set_reconsider_callback), (source_push_rtp),
(source_clock_rate), (rtp_session_process_bye),
(rtp_session_process_rtcp), (rtp_session_send_bye),
(rtp_session_on_timeout):
* gst/rtpmanager/rtpsession.h:
Make it possible to use different user_data for each of the callbacks.
Fixes#508587.
Original commit message from CVS:
* gst/mpegvideoparse/mpegpacketiser.c: (mpeg_util_find_start_code):
Small meaningless cleanup.
* gst/mpegvideoparse/mpegvideoparse.c: (gst_mpegvideoparse_flush),
(mpegvideoparse_drain_avail), (gst_mpegvideoparse_chain_forward),
(scan_keyframe), (gst_mpegvideoparse_flush_decode),
(gst_mpegvideoparse_chain_reverse), (gst_mpegvideoparse_chain),
(mpv_parse_sink_event), (gst_mpegvideoparse_change_state):
* gst/mpegvideoparse/mpegvideoparse.h:
Track segment events.
Do the first part of reverse playback by sending data between two
I-frames to the decoder.
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (create_send_rtp_sink):
Don't set fixed caps, we can basically do everything the upsteam peer
pad can renegotiate to. Fixes#507940.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop):
Don't unref the popped buffer when we don't have ownership.
Fixes#507020.
Original commit message from CVS:
* ext/musicbrainz/gsttrm.c:
Don't emit signiture when going to READY, because it might
not be ready.
* ext/nas/nassink.c:
Remove useless call that sleeps for 5 seconds. Yup, it calls
sleep(1) 5 times. Go NAS.
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfbdecoder.c:
Initialize our debug categories properly.
* gst/rawparse/gstrawparse.c:
Don't register element details for a non-element. Be much more
rude when subclass doesn't set a pad template (assert!). Don't
unref the pad template; we don't own it.
* gst/videosignal/gstvideoanalyse.c:
Initialize debug category.
* tests/check/Makefile.am:
Ignore nassink element in tests because it has unavoidable
long timeouts.
Original commit message from CVS:
* ext/ladspa/gstladspa.c: (gst_ladspa_get_property):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_show_frame):
* gst/mve/gstmvemux.c: (gst_mve_mux_request_new_pad):
* sys/dvb/dvbbasebin.c: (dvb_base_bin_class_init):
Fix 'xyz may be used uninitialized' compiler warnings caused
by broken g_assert_not_reached() macro in GLib-2.15.x and don't
abort() in any case but properly report the error.
Original commit message from CVS:
* gst/videoparse/Makefile.am:
* gst/videoparse/README:
* gst/videoparse/gstvideoparse.c:
Remove videoparse element, because it was moved to gst/rawparse/
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_src_event):
Always seek on frame boundaries, will produce nothing useful
otherwise.
Original commit message from CVS:
* configure.ac:
* gst/rawparse/Makefile.am:
* gst/rawparse/README:
* gst/rawparse/gstaudioparse.c: (gst_audio_parse_format_get_type),
(gst_audio_parse_endianness_get_type), (gst_audio_parse_base_init),
(gst_audio_parse_class_init), (gst_audio_parse_init),
(gst_audio_parse_set_property), (gst_audio_parse_get_property),
(gst_audio_parse_update_frame_size), (gst_audio_parse_get_caps):
* gst/rawparse/gstaudioparse.h:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_base_init),
(gst_raw_parse_class_init), (gst_raw_parse_init),
(gst_raw_parse_dispose),
(gst_raw_parse_class_set_src_pad_template),
(gst_raw_parse_class_set_multiple_frames_per_buffer),
(gst_raw_parse_reset), (gst_raw_parse_chain),
(gst_raw_parse_convert), (gst_raw_parse_sink_event),
(gst_raw_parse_src_event), (gst_raw_parse_src_query_type),
(gst_raw_parse_src_query), (gst_raw_parse_set_framesize),
(gst_raw_parse_set_fps), (gst_raw_parse_get_fps),
(gst_raw_parse_is_negotiated):
* gst/rawparse/gstrawparse.h:
* gst/rawparse/gstvideoparse.c: (gst_video_parse_format_get_type),
(gst_video_parse_endianness_get_type), (gst_video_parse_base_init),
(gst_video_parse_class_init), (gst_video_parse_init),
(gst_video_parse_set_property), (gst_video_parse_get_property),
(gst_video_parse_format_to_fourcc),
(gst_video_parse_update_frame_size), (gst_video_parse_get_caps):
* gst/rawparse/gstvideoparse.h:
* gst/rawparse/plugin.c: (plugin_init):
Add new plugin rawparse that contains a base class for raw data
parsers and the two elements audioparse and videoparse that can
be used to parse raw audio and video. These are inspired by the
old videoparse element which the new rawparse plugin deprecates.
Original commit message from CVS:
2007-12-18 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch-marshal.list:
* gst/switch/gstswitch.h (struct _GstStreamSelectorClass):
* gst/switch/gstswitch.c (enum, gst_selector_pad_class_init)
(gst_selector_pad_get_property)
(gst_selector_pad_get_running_time)
(gst_stream_selector_class_init, gst_segment_get_timestamp)
(gst_segment_set_stop, gst_segment_set_start)
(gst_stream_selector_set_active_pad, gst_stream_selector_block)
(gst_stream_selector_push_pending_stop)
(gst_stream_selector_switch): Change so that the signals and
properties deal in running time, not buffer time. Document the
signals more. Change uint64 in API to int64, to reflect what's in
GstSegment.
Original commit message from CVS:
* gst/multifile/gstmultifilesrc.c:
* gst/multifile/gstmultifilesrc.h:
When subsequent files are read, if the file doesn't exist, send
an EOS instead of causing an error.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_selector_pad_chain): Return OK when
a buffer is ignored, not NOT_LINKED. No sense in making a source
element error out; at least fdsrc considers NOT_LINKED to be a
fatal error. Patch 11/12. There is no patch 12/12. Foo.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch-marshal.list:
* gst/switch/gstswitch.h (struct _GstStreamSelectorClass):
* gst/switch/gstswitch.c (gst_stream_selector_class_init)
(gst_stream_selector_block): Make the block() signal return the
last stop time of the active pad. Patch 10/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_selector_pad_get_property)
(gst_selector_pad_class_init, gst_stream_selector_class_init)
(gst_stream_selector_get_property): Expose 'last-stop-time' as a
pad property, not an element property.
(gst_selector_pad_chain): Mark the last_stop time as timestamp +
duration, not timestamp. Patch 9/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_stream_selector_change_state)
(gst_stream_selector_block, gst_stream_selector_switch): Use the
cond mechanism instead of blocked pads. Patch 8/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h (struct _GstStreamSelector):
* gst/switch/gstswitch.c (gst_stream_selector_wait)
(gst_selector_pad_chain, gst_stream_selector_init)
(gst_stream_selector_dispose): Add infrastructure for new blocking
mechanism that does not use gst_pad_set_blocked, which does not
work on sink pads. Patch 7/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h (struct _GstStreamSelector): Add some
state variables.
* gst/switch/gstswitch.c (gst_stream_selector_push_pending_stop)
(gst_selector_pad_chain): Push any pending stop event.
(gst_stream_selector_set_active_pad)
(gst_stream_selector_set_property): Factor out setting the active
pad to a function. Close the segment of the previous active pad if
told to do so via a stop_time != GST_CLOCK_TIME_NONE.
(gst_stream_selector_switch): Implement switch vmethod. Patch 5/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_stream_selector_block): Implement
the block() signal. This implementation will be replaced in future
patches, however. Patch 4/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h (struct _GstStreamSelectorClass):
* gst/switch/gstswitch.c (gst_stream_selector_class_init): Add
`block' and `switch' signals.
* gst/switch/Makefile.am:
* gst/switch/gstswitch-marshal.list: Add foo to generate a
marshaller for the `switch' signal. Patch 2/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h:
* gst/switch/gstswitch.c: Replace with files from
gststreamselector.[ch], registered as the "switch" plugin, with
"GstSwitch" types. Patch 1/12.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_dispose),
(gst_video_parse_sink_event):
Free the adapter on dispose and correctly reset on newsegment events.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_sink_event),
(gst_video_parse_src_event), (gst_video_parse_src_query):
Improve duration query by first asking upstream and if it can't handle
the query try to get the duration in bytes from upstream and convert.
For seeks, try if upstream handles this already first and do our
conversion to byte format only if it doesn't and if we get a
newsegment event in time format keep it and only do our conversions
if the event has another format.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c:
(gst_video_parse_format_get_type),
(gst_video_parse_endianness_get_type),
(gst_video_parse_class_init), (gst_video_parse_init),
(gst_video_parse_set_property), (gst_video_parse_get_property),
(gst_video_parse_format_to_fourcc),
(gst_video_parse_update_block_size), (gst_video_parse_chain),
(gst_video_parse_sink_event):
Add support for video/x-raw-rgb and video/x-raw-gray. Also send
downstream elements downstream, not upstream.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtspacketizer.h:
Hash streams by pid again. Add a linked list inside each
stream with a list of sub_tables. Fix multiple sections
as it was borked with my last commit.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_init),
(gst_video_parse_src_event), (gst_video_parse_src_query_type):
Implement a query type function for the src pad, implement seeking
and use ANY caps for the sink pad as the element doesn't care what
caps the input has and everything is handled via properties.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_convert),
(gst_video_parse_sink_event):
Handle -1 values for the CONVERT query too.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_sink_event):
Add YV12 to the pad templates as it is supported too and allow
-1 as stop position for NEWSEGMENT events.
Original commit message from CVS:
* gst/videoparse/Makefile.am:
Add $(GST_PLUGINS_BASE_CFLAGS) to CFLAGS to fix the build.
* gst/videoparse/gstvideoparse.c: (gst_video_parse_init),
(gst_video_parse_set_property), (gst_video_parse_get_property):
Use g_value_[sg]et_enum() for enum properties, g_value_[sg]et_int()
gives a g_critical().
Original commit message from CVS:
* gst/videoparse/README:
* gst/videoparse/gstvideoparse.c:
Add a bunch of features: handle format specification, handle
queries and conversion. Works much like a normal parser now.
Original commit message from CVS:
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_finalize),
(gst_rtp_pt_demux_setup), (gst_rtp_pt_demux_release),
(gst_rtp_pt_demux_change_state):
* gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_reset),
(gst_rtp_ssrc_demux_dispose), (gst_rtp_ssrc_demux_src_query),
(gst_rtp_ssrc_demux_change_state):
Clean up the dynamic pads when going to READY.
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
Don't strdup (and thus leak) codec name strings when passing
them to gst_tag_list_add().
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init),
(gst_rtp_bin_handle_message):
* gst/rtpmanager/gstrtpsession.c: (source_get_sdes_structure),
(on_ssrc_sdes):
Post a message when the SDES infor changes for a source.
* gst/rtpmanager/rtpsession.c:
* gst/rtpmanager/rtpsource.c:
Update some comments.
Original commit message from CVS:
Based on patch by: <mutex at runbox dot com>
* gst/videoparse/gstvideoparse.c: (gst_video_parse_src_query):
Forward the query upstream, the default element event handler does
something different. Fixes#502879.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session):
* gst/rtpmanager/rtpjitterbuffer.c:
Update comment.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_set_property), (gst_rtp_session_get_property):
Define some GObject properties to set SDES and other configuration.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_init), (rtp_session_finalize),
(rtp_session_set_property), (rtp_session_get_property),
(on_ssrc_sdes), (rtp_session_set_bandwidth),
(rtp_session_get_bandwidth), (rtp_session_set_rtcp_fraction),
(rtp_session_get_rtcp_fraction), (rtp_session_set_sdes_string),
(rtp_session_get_sdes_string), (obtain_source),
(rtp_session_get_internal_source), (rtp_session_process_sdes),
(rtp_session_send_rtp), (rtp_session_next_timeout), (session_sdes),
(is_rtcp_time):
* gst/rtpmanager/rtpsession.h:
Add signal when new SDES infor has been found for a source.
Create properties for SDES and other info.
Simplify the SDES API.
Add method for getting the internal source object of the session.
* gst/rtpmanager/rtpsource.c: (rtp_source_class_init),
(rtp_source_finalize), (rtp_source_set_property),
(rtp_source_get_property), (rtp_source_set_callbacks),
(rtp_source_get_ssrc), (rtp_source_set_as_csrc),
(rtp_source_is_as_csrc), (rtp_source_is_active),
(rtp_source_is_validated), (rtp_source_is_sender),
(rtp_source_received_bye), (rtp_source_get_bye_reason),
(rtp_source_set_sdes), (rtp_source_set_sdes_string),
(rtp_source_get_sdes), (rtp_source_get_sdes_string),
(rtp_source_get_new_sr), (rtp_source_get_new_rb):
* gst/rtpmanager/rtpsource.h:
Add GObject properties for various things.
Don't leak the bye reason.
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
Fix list of supported and known codecs.
Emit tag with the codec name so it gets properly reported in totem and
other applications.