summaryrefslogtreecommitdiffstats
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2008-05-17gst/interleave/deinterleave.*: Queue events until src pads were added and ↵Sebastian Dröge2-0/+94
they can be sent. Otherwise downstream will... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_finalize), (gst_deinterleave_init), (gst_deinterleave_sink_event), (gst_deinterleave_process), (gst_deinterleave_sink_activate_push): * gst/interleave/deinterleave.h: Queue events until src pads were added and they can be sent. Otherwise downstream will never get the first newsegment event.
2008-05-17gst/interleave/deinterleave.c: Always set the channel positions when ↵Sebastian Dröge1-20/+23
gst_audio_get_channel_positions() returns someth... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_sink_setcaps), (gst_deinterleave_getcaps): Always set the channel positions when gst_audio_get_channel_positions() returns something, even if they're not set in the caps. This makes sure that the output channels can be interleaved again correctly in the mono/stereo cases too. Don't ask for the peercaps of the current pad in getcaps() as this might call getcaps() again and deadlock.
2008-05-16gst/interleave/: Add support for all raw audio formats and provide better ↵Sebastian Dröge3-63/+362
negotiation if the caps are changing. Original commit message from CVS: * gst/interleave/Makefile.am: * gst/interleave/deinterleave.c: (deinterleave_24), (gst_deinterleave_finalize), (gst_deinterleave_base_init), (gst_deinterleave_class_init), (gst_deinterleave_init), (gst_deinterleave_add_new_pads), (gst_deinterleave_set_pads_caps), (gst_deinterleave_set_process_function), (gst_deinterleave_sink_setcaps), (__remove_channels), (__set_channels), (gst_deinterleave_getcaps), (gst_deinterleave_process), (gst_deinterleave_chain), (gst_deinterleave_sink_activate_push): * gst/interleave/deinterleave.h: Add support for all raw audio formats and provide better negotiation if the caps are changing. Don't allow changes of the channel positions and set the position of the corresponding channel on the src pad caps. General cleanup and smaller bugfixes. * tests/check/elements/deinterleave.c: (float_buffer_check_probe): Check the channel positions on the output buffer caps.
2008-05-16docs/Makefile.am: Don't attempt to build plugin docs when they're disabled.Jan Schmidt2-6/+10
Original commit message from CVS: * docs/Makefile.am: Don't attempt to build plugin docs when they're disabled. * gst/bayer/Makefile.am: Add libgstvideo to the link. * gst/rtpmanager/Makefile.am: Fix link order, and move LIBS things to _LIBS
2008-05-14gst/rtpmanager/gstrtpjitterbuffer.c: Simply drop bad RTP packets with a ↵Wim Taymans1-4/+4
warning instead of just posting an error and ... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain): Simply drop bad RTP packets with a warning instead of just posting an error and stopping. This is a perfectly recoverable event and we don't force people to use an rtpbin to filter out bad packets first.
2008-05-14gst/mpeg4videoparse/mpeg4videoparse.c: Set fixed caps on the srcpad after we ↵Wim Taymans1-1/+1
created the pad... Original commit message from CVS: * gst/mpeg4videoparse/mpeg4videoparse.c: (gst_mpeg4vparse_init): Set fixed caps on the srcpad after we created the pad...
2008-05-14gst/audioresample/gstaudioresample.c: Revert previous change which made ↵Tim-Philipp Müller1-0/+4
basetransform handle buffer_alloc and which b... Original commit message from CVS: * gst/audioresample/gstaudioresample.c: (gst_audioresample_init): Revert previous change which made basetransform handle buffer_alloc and which breaks things badly in the non-passthrough case since it returned buffers with a different (ie. sometimes smaller) size than the size requested.
2008-05-14gst/interleave/: Split definitions into separate header files for better ↵Sebastian Dröge6-120/+209
documentation generation. Original commit message from CVS: * gst/interleave/Makefile.am: * gst/interleave/deinterleave.h: * gst/interleave/interleave.h: * gst/interleave/plugin.h: Split definitions into separate header files for better documentation generation. * gst/interleave/deinterleave.c: (gst_deinterleave_base_init), (gst_deinterleave_class_init), (gst_deinterleave_sink_setcaps), (gst_deinterleave_process): Don't use alloca, allow caps changes as long as the number of channels does not change, don't use g_warning, return NOT_NEGOTIATED as early as possible and some other cleanup. * gst/interleave/interleave.c: (gst_interleave_base_init), (gst_interleave_class_init): Do some random cleanup. * tests/check/Makefile.am: * tests/check/elements/deinterleave.c: (GST_START_TEST), (deinterleave_chain_func), (deinterleave_pad_added), (deinterleave_suite): Add unit tests for the deinterleave element.
2008-05-13gst/mpeg4videoparse/mpeg4videoparse.*: Parse the config data (either ↵Sjoerd Simons2-30/+540
outbound or in the stream) to set width/height, ... Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * gst/mpeg4videoparse/mpeg4videoparse.c: (gst_mpeg4vparse_set_new_caps), (gst_mpeg4vparse_align), (get_bits), (next_start_code), (gst_mpeg4vparse_handle_vos), (gst_mpeg4vparse_push), (gst_mpeg4vparse_drain), (gst_mpeg4vparse_chain), (gst_mpeg4vparse_sink_setcaps), (gst_mpeg4vparse_sink_event), (gst_mpeg4vparse_src_query), (gst_mpeg4vparse_set_property), (gst_mpeg4vparse_get_property), (gst_mpeg4vparse_class_init), (gst_mpeg4vparse_init): * gst/mpeg4videoparse/mpeg4videoparse.h: Parse the config data (either outbound or in the stream) to set width/height, apect ration, framerate in the caps if applicable. Mark frames as GST_BUFFER_FLAG_DELTA_UNIT when they are not intra frames Set the timestamps of outgoing buffers to the buffer in which the VOP header was found. Drop incoming data untill configuration is found (by default, configurable using a property). Report a 1 frame latency. Fixes #532723.
2008-05-13gst/real/gstrealvideodec.c: Add some debug for where we are searching for ↵Wim Taymans1-0/+3
libraries. Original commit message from CVS: * gst/real/gstrealvideodec.c: (open_library): Add some debug for where we are searching for libraries.
2008-05-13gst/rtpmanager/gstrtpbin.c: Actually add the do-lost property to the object.Wim Taymans1-0/+5
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init): Actually add the do-lost property to the object.
2008-05-12gst/rtpmanager/gstrtpjitterbuffer.c: Avoid waiting for a negative (huge) ↵Wim Taymans1-2/+8
duration when the last packet has a lower ti... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Avoid waiting for a negative (huge) duration when the last packet has a lower timestamp than the current packet.
2008-05-12gst/rtpmanager/gstrtpsession.c: Make sure to unref the rtpsession returned ↵Peter Kjellerstedt1-0/+3
by gst_pad_get_parent() to prevent a memor... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_query_send_rtcp_src): Make sure to unref the rtpsession returned by gst_pad_get_parent() to prevent a memory leak.
2008-05-12gst/rtpmanager/gstrtpjitterbuffer.c: Initialise with GST_CLOCK_TIME_NONE to ↵Jan Schmidt1-1/+1
avoid compiler warning. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Initialise with GST_CLOCK_TIME_NONE to avoid compiler warning.
2008-05-11Random doc of the day: the deinterlace element.Jan Schmidt2-4/+70
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: * docs/plugins/inspect/plugin-gstinterlace.xml: * gst/deinterlace/gstdeinterlace.c: * gst/deinterlace/gstdeinterlace.h: Random doc of the day: the deinterlace element.
2008-05-09gst/mpegtsparse/: Make sure all schedule EIT and non-actual transport streamZaheer Abbas Merali2-0/+23
Original commit message from CVS: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtsparse.c: Make sure all schedule EIT and non-actual transport stream EITs are parsed. Also add present-following flag and actual-transport-stream flag to eit bus message.
2008-05-09gst/rtpmanager/rtpsource.c: Make sure to unref the caps used by RTPSource to ↵Peter Kjellerstedt1-0/+2
prevent a memory leak. Original commit message from CVS: * gst/rtpmanager/rtpsource.c: (rtp_source_finalize): Make sure to unref the caps used by RTPSource to prevent a memory leak.
2008-05-08gst/rtpmanager/rtpsession.c: Unlock the session lock when calling one of our ↵Olivier Crete1-0/+8
callbacks. Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/rtpsession.c: (source_clock_rate), (rtp_session_process_bye), (rtp_session_send_bye_locked): Unlock the session lock when calling one of our callbacks. Fixes #532011.
2008-05-08gst/rtpmanager/gstrtpsession.c: Send RTP BYE command on EOS. Fixes bug #531955.Sjoerd Simons1-0/+1
Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtp_sink): Send RTP BYE command on EOS. Fixes bug #531955.
2008-05-08gst/audioresample/gstaudioresample.c: Let audioresample use the buffer ↵Sjoerd Simons1-4/+0
allocation of basetransform instead of it's ow... Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * gst/audioresample/gstaudioresample.c: (gst_audioresample_init): Let audioresample use the buffer allocation of basetransform instead of it's own stuff. * tests/check/elements/audioresample.c: (alloc_only_48000), (GST_START_TEST), (audioresample_suite): Add unit test for the recent basetransform bugfix, where upstream changes caps to something that can't be passed through anymore.
2008-04-29gst/subenc/gstsrtenc.c: Declare variables at the beginning of blocks. Fixes ↵Jens Granseuer1-4/+6
compilation with gcc 2.x and other compil... Original commit message from CVS: Patch by: Jens Granseuer <jensgr at gmx dot net> * gst/subenc/gstsrtenc.c: (gst_srt_enc_timestamp_to_string): Declare variables at the beginning of blocks. Fixes compilation with gcc 2.x and other compilers. Fixes bug #530611.
2008-04-29gst/mpegtsparse/: Detect SI pids (NIT, SDT, EIT etc.) based on table id and ↵Zaheer Abbas Merali3-36/+76
not by pid number. This allows for exampl... Original commit message from CVS: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtspacketizer.h: * gst/mpegtsparse/mpegtsparse.c: Detect SI pids (NIT, SDT, EIT etc.) based on table id and not by pid number. This allows for example the EPG data from UK's freesat to be picked up.
2008-04-25gst/rtpmanager/gstrtpbin.*: Expose new jitterbuffer property in rtpbin too.Wim Taymans2-2/+18
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_stream), (gst_rtp_bin_init), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property): * gst/rtpmanager/gstrtpbin.h: Expose new jitterbuffer property in rtpbin too.
2008-04-25gst/rtpmanager/gstrtpjitterbuffer.c: Disable sending out rtp packet lost ↵Wim Taymans1-14/+52
events by default and make a property to ena... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): Disable sending out rtp packet lost events by default and make a property to enabe it. We will likely enable it by default when the base depayloaders have a default handler for them so that we don't send these events all through the pipeline for now.
2008-04-25gst/rtpmanager/gstrtpjitterbuffer.c: Remove private version of a function ↵Wim Taymans1-37/+109
that is in -base now. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_src_event), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Remove private version of a function that is in -base now. Add src event handler. Rework the jitterbuffer pushing loop so that it can quickly react to lost packets and instruct the depayloader of them. This can then be used to implement error concealment data.
2008-04-25gst/rtpmanager/gstrtpsession.c: Set up some internal links functions for the ↵Wim Taymans1-0/+33
RTCP and sync pads because the defaults ... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_query_send_rtcp_src), (create_recv_rtcp_sink), (create_send_rtcp_src): Set up some internal links functions for the RTCP and sync pads because the defaults are really not correct. Implement a query handler for the RTCP src pad, mostly to correctly report about the latency.
2008-04-25gst/rtpmanager/: Also keep track of the first buffer timestamp together with ↵Wim Taymans5-1/+11
the first Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain): * gst/rtpmanager/rtpsession.c: (update_arrival_stats), (rtp_session_process_sr), (rtp_session_on_timeout): * gst/rtpmanager/rtpsource.c: (rtp_source_init), (calculate_jitter): * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.h: Also keep track of the first buffer timestamp together with the first RTP timestamp as they both are needed to construct the timing of outgoing packets in the jitterbuffer and are therefore also needed to manage lip-sync. This fixes lip-sync if the first RTP packets arrive with a wildly different gap.
2008-04-25gst/flv/gstflvdemux.c: Forward unknown queries upstream instead of returning ↵Wim Taymans1-3/+1
FALSE on them. Original commit message from CVS: * gst/flv/gstflvdemux.c: (gst_flv_demux_query): Forward unknown queries upstream instead of returning FALSE on them.
2008-04-22gst/sdp/gstsdpdemux.c: Ref caps, see #528245.Wim Taymans1-0/+2
Original commit message from CVS: * gst/sdp/gstsdpdemux.c: (request_pt_map): Ref caps, see #528245.
2008-04-21gst/rtpmanager/gstrtpbin.c: Ref caps when inserting into the cache.Olivier Crete4-14/+41
Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (new_ssrc_pad_found): Ref caps when inserting into the cache. Don't leak pads. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_get_clock_rate), (gst_rtp_jitter_buffer_query): Avoid a caps leak. Don't leak refcount in query. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps), (gst_rtp_pt_demux_chain): Avoid caps leaks. * gst/rtpmanager/gstrtpsession.c: (source_get_sdes_structure), (gst_rtp_session_init), (return_true), (gst_rtp_session_clear_pt_map), (gst_rtp_session_cache_caps), (gst_rtp_session_clock_rate): Ref caps when inserting into the cache. Fix some more caps leaks. Fixes #528245.
2008-04-17gst/rtpmanager/: Unset GValues after g_signal_emitv so that we avoid a ↵Wim Taymans4-5/+28
refcount leak. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (get_pt_map), (free_client), (gst_rtp_bin_associate), (gst_rtp_bin_get_free_pad_name): * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_get_clock_rate): * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps): * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate): Unset GValues after g_signal_emitv so that we avoid a refcount leak. Don't leak a padname. Don't leak client streams list. Lock rtpbin when associating streams. Fixes #528245.
2008-04-11gst/flv/gstflvparse.c: Handle NULL returns from FLV_GET_STRING() more ↵Tim-Philipp Müller1-3/+8
gracefully. Fixes crash caused by a strlen on a... Original commit message from CVS: * gst/flv/gstflvparse.c: (gst_flv_parse_metadata_item), (gst_flv_parse_tag_script): Handle NULL returns from FLV_GET_STRING() more gracefully. Fixes crash caused by a strlen on a NULL string (#527622).
2008-04-11configure.ac: Bump core/base requirements to released versions to avoid ↵Tim-Philipp Müller1-34/+17
confusion. Original commit message from CVS: * configure.ac: Bump core/base requirements to released versions to avoid confusion. * gst/deinterlace/gstdeinterlace.c: (deinterlace_debug), (GST_CAT_DEFAULT), (gst_deinterlace_base_init), (gst_deinterlace_set_caps), (plugin_init): Add debug category, use _set_element_details_simple and remove special code path for Y42B to calculate offsets and strides; libgstvideo knows how to handle this format now.
2008-04-11gst/cdxaparse/: Port VCD parser (formerly cdxastrip) from 0.8 to 0.10. ↵Tim-Philipp Müller6-801/+328
Doesn't do anything the 0.8 version didn't do ... Original commit message from CVS: * gst/cdxaparse/Makefile.am: * gst/cdxaparse/gstcdxaparse.c: * gst/cdxaparse/gstcdxastrip.c: * gst/cdxaparse/gstcdxastrip.h: * gst/cdxaparse/gstvcdparse.c: * gst/cdxaparse/gstvcdparse.h: Port VCD parser (formerly cdxastrip) from 0.8 to 0.10. Doesn't do anything the 0.8 version didn't do though.
2008-04-10gst/nsf/nsf.h: Change prototype of process function here too to avoid ↵Tim-Philipp Müller1-2/+7
'incompatible assignment' warnings. Original commit message from CVS: * gst/nsf/nsf.h: Change prototype of process function here too to avoid 'incompatible assignment' warnings.
2008-04-09gst/rtpmanager/: Avoid leaking pads in the RTP manager.Peter Kjellerstedt2-0/+24
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.
2008-04-09gst/nsf/nes_apu.*: Don't do void pointer arithmetic - it's a gcc extension.Jan Schmidt2-5/+15
Original commit message from CVS: * gst/nsf/nes_apu.c: (apu_process): * gst/nsf/nes_apu.h: Don't do void pointer arithmetic - it's a gcc extension.
2008-04-04gst/subenc/gstsrtenc.*: GstSrtenc => GstSrtEnc and gst_srtenc_ => gst_srt_enc_.Tim-Philipp Müller2-57/+58
Original commit message from CVS: * gst/subenc/gstsrtenc.c: * gst/subenc/gstsrtenc.h: GstSrtenc => GstSrtEnc and gst_srtenc_ => gst_srt_enc_.
2008-04-01Rename new srtenc plugin to subenc.Tim-Philipp Müller5-336/+9
Original commit message from CVS: * configure.ac: * gst-plugins-bad.spec.in: * gst/srtenc/Makefile.am: * gst/srtenc/gstsrtenc.c: * gst/srtenc/gstsrtenc.h: * gst/subenc/Makefile.am: * gst/subenc/gstsrtenc.c: (plugin_init): Rename new srtenc plugin to subenc.
2008-04-01gst/mpegtsparse/mpegtspacketizer.c: Cable delivery subsystem descriptors' ↵Zaheer Abbas Merali1-2/+5
frequency's bcd is measured in 100Hz units ... 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.
2008-04-01Add srt subtitle encoderThijs Vermeir6-0/+654
Original commit message from CVS: * configure.ac: * gst/srtenc/Makefile.am: * gst/srtenc/gstsrtenc.c: * gst/srtenc/gstsrtenc.h: Add srt subtitle encoder
2008-03-26gst/nsf/: Remove memguard again and apply hopefully all previously dropped ↵Sebastian Dröge9-549/+112
local patches. Should be really better tha... 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.
2008-03-25gst/nsf/: Unbreak compilation by disabling memguard and doing some dirty ↵Wim Taymans2-4/+17
hack fixes to make it compile on 64bits. 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.
2008-03-25gst/nsf/: Update our internal nosefart to nosefart-2.7-mls to fix segfaults ↵Andreas Henriksson25-499/+1694
on some files. Fixes bug #498237. Original commit message from CVS: Patch by: Andreas Henriksson <andreas at fatal dot set> * gst/nsf/Makefile.am: * gst/nsf/dis6502.h: * gst/nsf/fds_snd.c: * gst/nsf/fds_snd.h: * gst/nsf/fmopl.c: * gst/nsf/fmopl.h: * gst/nsf/gstnsf.c: * gst/nsf/log.c: * gst/nsf/log.h: * gst/nsf/memguard.c: * gst/nsf/memguard.h: * gst/nsf/mmc5_snd.c: * gst/nsf/mmc5_snd.h: * gst/nsf/nes6502.c: * gst/nsf/nes6502.h: * gst/nsf/nes_apu.c: * gst/nsf/nes_apu.h: * gst/nsf/nsf.c: * gst/nsf/nsf.h: * gst/nsf/osd.h: * gst/nsf/types.h: * gst/nsf/vrc7_snd.c: * gst/nsf/vrc7_snd.h: * gst/nsf/vrcvisnd.c: * gst/nsf/vrcvisnd.h: Update our internal nosefart to nosefart-2.7-mls to fix segfaults on some files. Fixes bug #498237. Remove some // comments, fix some compiler warnings and use pow() instead of a slow, selfmade implementation.
2008-03-24Make rganalysis and rglimiter elements GAP-flag aware.Rene Stadler2-1/+16
Original commit message from CVS: * gst/replaygain/gstrganalysis.c (gst_rg_analysis_init), (gst_rg_analysis_transform_ip): * gst/replaygain/gstrglimiter.c (gst_rg_limiter_init), (gst_rg_limiter_transform_ip): Make rganalysis and rglimiter elements GAP-flag aware. * tests/check/elements/rganalysis.c: (test_gap_buffers), (rganalysis_suite): * tests/check/elements/rglimiter.c (test_gap), (rglimiter_suite): Add tests to verify gap-awareness.
2008-03-22Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static ↵Sebastian Dröge1-3/+3
strings (i.e. all). This gives us less memory u... Original commit message from CVS: * configure.ac: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_class_init): * ext/alsa/gstalsasink.c: (gst_alsasink_class_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init): * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_class_init): * ext/gio/gstgiosink.c: (gst_gio_sink_class_init): * ext/gio/gstgiosrc.c: (gst_gio_src_class_init): * ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init): * ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init): * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): * ext/pango/gsttextrender.c: (gst_text_render_class_init): * ext/theora/theoradec.c: (gst_theora_dec_class_init): * ext/theora/theoraenc.c: (gst_theora_enc_class_init): * ext/theora/theoraparse.c: (gst_theora_parse_class_init): * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_class_init): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_class_init): * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init): * gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init): * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init): * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (preroll_unlinked): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/playback/gstplaybin2.c: (gst_play_bin_class_init): * gst/playback/gstplaysink.c: (gst_play_sink_class_init): * gst/playback/gstqueue2.c: (gst_queue_class_init): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init): * gst/playback/gststreamselector.c: (gst_selector_pad_class_init), (gst_stream_selector_class_init): * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init): * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init): * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init): * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init): * gst/videorate/gstvideorate.c: (gst_video_rate_class_init): * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init): * gst/volume/gstvolume.c: (gst_volume_class_init): * sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init): * sys/ximage/ximagesink.c: (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory usage, fewer allocations and thus less memory defragmentation. Depend on core CVS for this. Fixes bug #523806.
2008-03-20gst/selector/gstinputselector.c: Do g_object_notify() only when not holding ↵Wim Taymans1-5/+12
the lock to get the property because othe... 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.
2008-03-20gst/selector/gstinputselector.c: Release the selector lock when pad alloc ↵Wim Taymans1-0/+2
happens on a non selected pad. 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.
2008-03-20gst/selector/gstinputselector.c: Add pad property to configure behaviour of ↵Wim Taymans1-22/+69
the unselected pad, it can return OK or N... 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.
2008-03-20gst/selector/gstinputselector.*: Figure out the locking a bit more.Wim Taymans2-110/+200
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.