summaryrefslogtreecommitdiffstats
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2008-09-05gst/rtpmanager/gstrtpbin.*: Add signal to notify listeners when a sender ↵Wim Taymans13-107/+218
becomes a receiver. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (on_sender_timeout), (create_session), (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (gst_rtp_bin_class_init), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpbin.h: Add signal to notify listeners when a sender becomes a receiver. Tweak lip-sync code, don't store our own copy of the ts-offset of the jitterbuffer, don't adjust sync if the change is less than 4msec. Get the RTP timestamp <-> GStreamer timestamp relation directly from the jitterbuffer instead of our inaccurate version from the source. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_get_sync): * gst/rtpmanager/gstrtpjitterbuffer.h: Add G_LIKELY macros, use global defines for max packet reorder and dropouts. Reset the jitterbuffer clock skew detection when packets seqnums are changed unexpectedly. * gst/rtpmanager/gstrtpsession.c: (on_sender_timeout), (gst_rtp_session_class_init), (gst_rtp_session_init): * gst/rtpmanager/gstrtpsession.h: Add sender timeout signal. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew), (rtp_jitter_buffer_insert), (rtp_jitter_buffer_get_sync): * gst/rtpmanager/rtpjitterbuffer.h: Add some G_LIKELY macros. Keep track of the extended RTP timestamp so that we can report the RTP timestamp <-> GStreamer timestamp relation for lip-sync. Remove server timestamp gap detection code, the server can sometimes make a huge gap in timestamps (talk spurts,...) see #549774. Detect timetamp weirdness instead by observing the sender/receiver timestamp relation and resync if it changes more than 1 second. Add method to report about the current rtp <-> gst timestamp relation which is needed for lip-sync. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (on_sender_timeout), (check_collision), (rtp_session_process_sr), (session_cleanup): * gst/rtpmanager/rtpsession.h: Add sender timeout signal. Remove inaccurate rtp <-> gst timestamp relation code, the jitterbuffer can now do an accurate reporting about this. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (rtp_source_update_caps), (calculate_jitter), (rtp_source_process_rtp): * gst/rtpmanager/rtpsource.h: Remove inaccurate rtp <-> gst timestamp relation code. * gst/rtpmanager/rtpstats.h: Define global max-reorder and max-dropout constants for use in various subsystems.
2008-09-02gst/mpegdemux/: Fix build on macosx.Edward Hervey2-2/+2
Original commit message from CVS: * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_parse_pack_start): * gst/mpegdemux/gstmpegtsdemux.c: (gst_fluts_demux_data_cb): Fix build on macosx.
2008-09-02Add Fluendo MPEG PS and TS demuxers to gst-plugins-bad. This is now dual ↵Zaheer Abbas Merali19-0/+7401
licensed MPL and LGPL. Original commit message from CVS: * configure.ac: * gst/mpegdemux/Makefile.am: * gst/mpegdemux/flumpegdemux.c: * gst/mpegdemux/flutspatinfo.c: * gst/mpegdemux/flutspatinfo.h: * gst/mpegdemux/flutspmtinfo.c: * gst/mpegdemux/flutspmtinfo.h: * gst/mpegdemux/flutspmtstreaminfo.c: * gst/mpegdemux/flutspmtstreaminfo.h: * gst/mpegdemux/gstmpegdefs.h: * gst/mpegdemux/gstmpegdemux.c: * gst/mpegdemux/gstmpegdemux.h: * gst/mpegdemux/gstmpegdesc.c: * gst/mpegdemux/gstmpegdesc.h: * gst/mpegdemux/gstmpegtsdemux.c: * gst/mpegdemux/gstmpegtsdemux.h: * gst/mpegdemux/gstpesfilter.c: * gst/mpegdemux/gstpesfilter.h: * gst/mpegdemux/gstsectionfilter.c: * gst/mpegdemux/gstsectionfilter.h: Add Fluendo MPEG PS and TS demuxers to gst-plugins-bad. This is now dual licensed MPL and LGPL.
2008-09-02gst/mpegtsmux/mpegtsmux.c: Set caps on outgoing buffers.Wim Taymans1-0/+4
Original commit message from CVS: * gst/mpegtsmux/mpegtsmux.c: (new_packet_cb): Set caps on outgoing buffers.
2008-09-02Enable/fix up translations for these plugins.Tim-Philipp Müller1-0/+7
Original commit message from CVS: * ext/resindvd/plugin.c: (plugin_init): * ext/resindvd/resindvdsrc.c: * ext/twolame/gsttwolame.c: (plugin_init): * gst/aiffparse/aiffparse.c: (plugin_init): Enable/fix up translations for these plugins. * po/LINGUAS: Add 'ca' to LINGUAS. * po/POTFILES.in: * po/POTFILES.skip: Add more files for translation and more files which tools should skip.
2008-09-02gst/mpegtsmux/tsmux/tsmux.c: Fix build on macosx.Edward Hervey1-3/+1
Original commit message from CVS: * gst/mpegtsmux/tsmux/tsmux.c: (tsmux_write_ts_header): Fix build on macosx.
2008-09-01gst/mpegtsmux/mpegtsmux_aac.c: Allocate a fixed size buffer on the stack ↵Sebastian Dröge3-10/+9
instead of using malloc(). Original commit message from CVS: * gst/mpegtsmux/mpegtsmux_aac.c: (mpegtsmux_prepare_aac): Allocate a fixed size buffer on the stack instead of using malloc(). * gst/mpegtsmux/tsmux/tsmux.c: (tsmux_new), (tsmux_free), (tsmux_program_new), (tsmux_program_free): * gst/mpegtsmux/tsmux/tsmuxstream.c: (tsmux_stream_new), (tsmux_stream_free), (tsmux_stream_consume), (tsmux_stream_add_data): Use GSlice.
2008-09-01gst/mpegtsmux/mpegtsmux.c: Add support for muxing MPEG4 video.Sebastian Dröge1-2/+8
Original commit message from CVS: * gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_create_stream): Add support for muxing MPEG4 video.
2008-09-01gst/mpegtsmux/tsmux/: Fix build of mpegtsmux.Edward Hervey2-3/+3
Original commit message from CVS: * gst/mpegtsmux/tsmux/tsmux.h: * gst/mpegtsmux/tsmux/tsmuxstream.h: Fix build of mpegtsmux.
2008-09-01Add Fluendo MPEG-TS muxer and libtsmux to gst-plugins-bad. This is renamed ↵Sebastian Dröge14-0/+3920
to mpegtsmux to prevent conflicts. Also al... Original commit message from CVS: * configure.ac: * gst/mpegtsmux/Makefile.am: * gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_base_init), (mpegtsmux_class_init), (mpegtsmux_init), (mpegtsmux_dispose), (gst_mpegtsmux_set_property), (gst_mpegtsmux_get_property), (release_buffer_cb), (mpegtsmux_create_stream), (mpegtsmux_create_streams), (mpegtsmux_choose_best_stream), (mpegtsmux_collected), (mpegtsmux_request_new_pad), (mpegtsmux_release_pad), (new_packet_cb), (mpegtsdemux_prepare_srcpad), (mpegtsmux_change_state), (plugin_init): * gst/mpegtsmux/mpegtsmux.h: * gst/mpegtsmux/mpegtsmux_aac.c: (mpegtsmux_prepare_aac): * gst/mpegtsmux/mpegtsmux_aac.h: * gst/mpegtsmux/mpegtsmux_h264.c: (mpegtsmux_prepare_h264): * gst/mpegtsmux/mpegtsmux_h264.h: * gst/mpegtsmux/tsmux/Makefile.am: * gst/mpegtsmux/tsmux/crc.h: * gst/mpegtsmux/tsmux/tsmux.c: (tsmux_new), (tsmux_set_write_func), (tsmux_set_pat_frequency), (tsmux_get_pat_frequency), (tsmux_free), (tsmux_program_new), (tsmux_set_pmt_frequency), (tsmux_get_pmt_frequency), (tsmux_program_add_stream), (tsmux_program_set_pcr_stream), (tsmux_get_new_pid), (tsmux_create_stream), (tsmux_find_stream), (tsmux_packet_out), (tsmux_write_adaptation_field), (tsmux_write_ts_header), (tsmux_write_stream_packet), (tsmux_program_free), (tsmux_write_section), (tsmux_write_section_hdr), (tsmux_write_pat), (tsmux_write_pmt): * gst/mpegtsmux/tsmux/tsmux.h: * gst/mpegtsmux/tsmux/tsmuxcommon.h: * gst/mpegtsmux/tsmux/tsmuxstream.c: (tsmux_stream_new), (tsmux_stream_get_pid), (tsmux_stream_free), (tsmux_stream_set_buffer_release_func), (tsmux_stream_consume), (tsmux_stream_at_pes_start), (tsmux_stream_bytes_avail), (tsmux_stream_bytes_in_buffer), (tsmux_stream_get_data), (tsmux_stream_pes_header_length), (tsmux_stream_find_pts_dts_within), (tsmux_stream_write_pes_header), (tsmux_stream_add_data), (tsmux_stream_get_es_descrs), (tsmux_stream_pcr_ref), (tsmux_stream_pcr_unref), (tsmux_stream_is_pcr), (tsmux_stream_get_pts): * gst/mpegtsmux/tsmux/tsmuxstream.h: Add Fluendo MPEG-TS muxer and libtsmux to gst-plugins-bad. This is renamed to mpegtsmux to prevent conflicts. Also all relevant informations about copyright and license are added to the top of every file but apart from that no changes compared to the latest SVN versions happened.
2008-09-01gst/selector/gstinputselector.c: Reuse the get_linked_pads for both source ↵Wim Taymans1-16/+24
and sinkpads because they are the same. Original commit message from CVS: * gst/selector/gstinputselector.c: (gst_input_selector_init), (gst_input_selector_event), (gst_input_selector_query): Reuse the get_linked_pads for both source and sinkpads because they are the same. Implement a custum event handler and get the internally linked pad directly instead of relying on the default (slower) implementation.
2008-08-31Add scaletempo plugin, which allows to scale the speed of audio without ↵Rov Juvano4-0/+884
changing the pitch by handling seeks with a r... Original commit message from CVS: Patch by: Rov Juvano <rovjuvano at users dot sourceforge dot net> * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/inspect/plugin-scaletempo.xml: * examples/scaletempo/Makefile.am: * examples/scaletempo/demo-gui.c: (pop_status_bar), (status_bar_printf), (demo_gui_seek_bar_format), (update_position), (demo_gui_seek_bar_change), (demo_gui_do_change_rate), (demo_gui_do_set_rate), (demo_gui_do_rate_entered), (demo_gui_do_toggle_advanced), (demo_gui_do_toggle_disabled), (demo_gui_do_seek), (demo_gui_do_play), (demo_gui_do_pause), (demo_gui_do_play_pause), (demo_gui_do_open_file), (demo_gui_do_playlist_prev), (demo_gui_do_playlist_next), (demo_gui_do_about_dialog), (demo_gui_do_quit), (demo_gui_request_set_stride), (demo_gui_request_set_overlap), (demo_gui_request_set_search), (demo_gui_rate_changed), (demo_gui_playing_started), (demo_gui_playing_paused), (demo_gui_playing_ended), (demo_gui_player_errored), (demo_gui_stride_changed), (demo_gui_overlap_changed), (demo_gui_search_changed), (demo_gui_set_player_func), (demo_gui_set_playlist_func), (build_gvalue_array), (create_action), (demo_gui_show_func), (demo_gui_set_player), (demo_gui_set_playlist), (demo_gui_show), (demo_gui_get_property), (demo_gui_set_property), (demo_gui_init), (demo_gui_class_init), (demo_gui_get_type): * examples/scaletempo/demo-gui.h: * examples/scaletempo/demo-main.c: (handle_error_message), (handle_quit), (main): * examples/scaletempo/demo-player.c: (no_pipeline), (demo_player_event_listener), (demo_player_state_changed_cb), (demo_player_eos_cb), (demo_player_build_pipeline), (_set_rate), (demo_player_scale_rate_func), (demo_player_set_rate_func), (_set_state_and_wait), (demo_player_load_uri_func), (demo_player_play_func), (demo_player_pause_func), (_seek_to), (demo_player_seek_by_func), (demo_player_seek_to_func), (demo_player_get_position_func), (demo_player_get_duration_func), (demo_player_scale_rate), (demo_player_set_rate), (demo_player_load_uri), (demo_player_play), (demo_player_pause), (demo_player_seek_by), (demo_player_seek_to), (demo_player_get_position), (demo_player_get_duration), (demo_player_get_property), (demo_player_set_property), (demo_player_init), (demo_player_class_init), (demo_player_get_type): * examples/scaletempo/demo-player.h: * gst/scaletempo/Makefile.am: * gst/scaletempo/gstscaletempo.c: (best_overlap_offset_float), (best_overlap_offset_s16), (output_overlap_float), (output_overlap_s16), (fill_queue), (reinit_buffers), (gst_scaletempo_transform), (gst_scaletempo_transform_size), (gst_scaletempo_sink_event), (gst_scaletempo_set_caps), (gst_scaletempo_get_property), (gst_scaletempo_set_property), (gst_scaletempo_base_init), (gst_scaletempo_class_init), (gst_scaletempo_init): * gst/scaletempo/gstscaletempo.h: * gst/scaletempo/gstscaletempoplugin.c: (plugin_init): Add scaletempo plugin, which allows to scale the speed of audio without changing the pitch by handling seeks with a rate!=1.0. Integrate it into the docs and add the example application for it. Fixes bug #537700.
2008-08-28gst/dccp/: Fix compilation on Solaris by including filio.h as needed.Jan Schmidt4-14/+26
Original commit message from CVS: * gst/dccp/gstdccp.c: * gst/dccp/gstdccpclientsrc.c: Fix compilation on Solaris by including filio.h as needed. * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc: * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc: Fix compilation with Forte - apparently it hates concatenating a macro argument that starts with an underscore??
2008-08-28gst/rtpmanager/gstrtpsession.c: Send EOS when the session object instructs ↵Wim Taymans3-6/+22
us to. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_send_rtcp), (gst_rtp_session_event_send_rtp_sink): Send EOS when the session object instructs us to. * gst/rtpmanager/rtpsession.c: (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Make it possible for the session manager to instruct us to send EOS. We currently will EOS when the session is a sender and when the sender part goes EOS. This is not entirely correct behaviour because the session could still participate as a receiver. Fixes #549409.
2008-08-28gst/aiffparse/aiffparse.c: Read size of chunks preceeding the audio data ↵Michael Smith1-1/+1
with the correct endianness. Fixes playback ... Original commit message from CVS: * gst/aiffparse/aiffparse.c: Read size of chunks preceeding the audio data with the correct endianness. Fixes playback of some files. Fixes #538500
2008-08-28Add an AIFF parsing element, heavily based on wavparse.Michael Smith3-0/+1685
Original commit message from CVS: * configure.ac: * gst/aiffparse/Makefile.am: * gst/aiffparse/aiffparse.c: * gst/aiffparse/aiffparse.h: Add an AIFF parsing element, heavily based on wavparse.
2008-08-27gst/selector/gstinputselector.c: Implement the LATENCY query in a better way ↵Wim Taymans1-0/+80
by taking the latency of all sinkpads an... Original commit message from CVS: * gst/selector/gstinputselector.c: (gst_input_selector_init), (gst_input_selector_query): Implement the LATENCY query in a better way by taking the latency of all sinkpads and taking the min/max instead of just taking a random pad.
2008-08-26gst/deinterlace2/tvtime/tomsmocomp/: Unroll the loop to handle two bytes at ↵Sebastian Dröge4-108/+196
once. This should give a small speedup an... Original commit message from CVS: * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc: * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc: * gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc: * gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc: Unroll the loop to handle two bytes at once. This should give a small speedup and makes it possible to handle chroma and luma different which is needed later.
2008-08-26gst/dccp/gstdccpserversink.*: Don't put globals only used by one '.c' file ↵Edward Hervey2-3/+3
in a header ! Original commit message from CVS: * gst/dccp/gstdccpserversink.c: * gst/dccp/gstdccpserversink.h: Don't put globals only used by one '.c' file in a header ! Declare it as static, fixes build on macosx.
2008-08-26gst/dccp/gstdccp.c: Whoops, that was one fix too much :)Edward Hervey1-1/+1
Original commit message from CVS: * gst/dccp/gstdccp.c: (gst_dccp_send_buffer): Whoops, that was one fix too much :)
2008-08-26gst/dccp/gstdccp.c: size_t's size varies by platform/architecture. Use glib ↵Edward Hervey1-5/+5
convenience macro instead. Fixes build on... Original commit message from CVS: * gst/dccp/gstdccp.c: (gst_dccp_read_buffer), (gst_dccp_send_buffer), (gst_dccp_set_sock_windowsize): size_t's size varies by platform/architecture. Use glib convenience macro instead. Fixes build on macosx. Remove ending '\n' in debug statements.
2008-08-26gst/pcapparse/gstpcapparse.c: Remove unused code and fix includes.Edward Hervey1-12/+3
Original commit message from CVS: * gst/pcapparse/gstpcapparse.c: (gst_pcap_parse_class_init): Remove unused code and fix includes.
2008-08-25gst/deinterlace2/: First part of the C implementation of the tomsmocomp ↵Sebastian Dröge10-27/+355
deinterlacing algorithm. This only supports s... Original commit message from CVS: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace_method_class_init): * gst/deinterlace2/gstdeinterlace2.h: * gst/deinterlace2/tvtime/tomsmocomp.c: (gst_deinterlace_method_tomsmocomp_class_init): * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc: * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc: * gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc: * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc: * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc: * gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc: * gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h: First part of the C implementation of the tomsmocomp deinterlacing algorithm. This only supports search-effort=0 currently, is painfully slow and needs some cleanup later when all search-effort settings are implemented in C.
2008-08-24Added documentation blobs. Thanks to Stefan for noticing!Ole André Vadla Ravnås1-6/+11
Original commit message from CVS: * gst/pcapparse/gstpcapparse.c: * sys/winscreencap/gstdx9screencapsrc.c: * sys/winscreencap/gstgdiscreencapsrc.c: Added documentation blobs. Thanks to Stefan for noticing!
2008-08-24New plugin: pcapparse (#520899).Ole André Vadla Ravnås3-0/+569
Original commit message from CVS: * configure.ac: * gst/pcapparse/Makefile.am: * gst/pcapparse/gstpcapparse.c: * gst/pcapparse/gstpcapparse.h: New plugin: pcapparse (#520899).
2008-08-21Add dccp plugin. Fixes #542390.Leandro Melo de Sales12-0/+2548
Original commit message from CVS: patch by: Leandro Melo de Sales <leandroal@gmail.com> * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.prerequisites: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-dccp.xml: * gst/dccp/Makefile.am: * gst/dccp/gstdccp.c: * gst/dccp/gstdccp.h: * gst/dccp/gstdccpclientsink.c: * gst/dccp/gstdccpclientsink.h: * gst/dccp/gstdccpclientsrc.c: * gst/dccp/gstdccpclientsrc.h: * gst/dccp/gstdccpplugin.c: * gst/dccp/gstdccpserversink.c: * gst/dccp/gstdccpserversink.h: * gst/dccp/gstdccpserversrc.c: * gst/dccp/gstdccpserversrc.h: * tests/icles/dccp/README: * tests/icles/dccp/call/README: * tests/icles/dccp/call/DCCPClient.c: * tests/icles/dccp/call/DCCPServer.c: * tests/icles/dccp/file/DCCPClientSaveFile.c: * tests/icles/dccp/file/DCCPServerSendFile.c: * tests/icles/dccp/mic/DCCPClientPlayMic.c: * tests/icles/dccp/mic/DCCPServerMic.c: * tests/icles/dccp/mp3/DCCPClientPlayMP3.c: * tests/icles/dccp/mp3/DCCPServerSendMP3.c: * tests/icles/dccp/mp3Speex/DCCPClientPlaySpeexMP3.c: * tests/icles/dccp/mp3Speex/DCCPServerSendSpeexMP3.c: * tests/icles/dccp/mp3Stream/DCCPClientPlayMP3Stream.c: * tests/icles/dccp/mp3Stream/DCCPServerSendMP3Stream.c: Add dccp plugin. Fixes #542390.
2008-08-13gst/rtpmanager/gstrtpbin.c: Reset rtp timestamp interpollation when we ↵Wim Taymans6-8/+88
detect a gap when the clock_base changed. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (new_ssrc_pad_found): Reset rtp timestamp interpollation when we detect a gap when the clock_base changed. Don't try to adjust the ts-offset when it's too big (> 3seconds) * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_set_ssrc): * gst/rtpmanager/gstrtpsession.h: Add method to set session SSRC. * gst/rtpmanager/rtpsession.c: (check_collision), (rtp_session_set_internal_ssrc), (rtp_session_get_internal_ssrc), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Added debugging for the collision checks. Add method to change the internal SSRC of the session. * gst/rtpmanager/rtpsource.c: (rtp_source_process_rtp): Reset the clock base when we detect large jumps in the seqnums.
2008-08-11gst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log.Stefan Kost1-1/+2
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log. * sys/dshowsrcwrapper/gstdshowaudiosrc.c: * sys/dshowsrcwrapper/gstdshowvideosrc.c: Use "-" instead of "_" in property names. Can we call them just "device" like everywhere else?
2008-08-05gst/rtpmanager/gstrtpjitterbuffer.c: Make the buffer metadata writable ↵Olivier Crete3-2/+13
before inserting it in the jitterbuffer becaus... Original commit message from CVS: Based on patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Make the buffer metadata writable before inserting it in the jitterbuffer because the jitterbuffer will modify the timestamps. * gst/rtpmanager/rtpjitterbuffer.c: Update method comment about requiring writable metadata on buffers. * gst/rtpmanager/rtpsession.c: (rtp_session_process_sr), (rtp_session_process_rtcp): Make the RTCP buffer metadata writable because we want to modify the metadata. Fixes #546312.
2008-08-05gst/selector/gstinputselector.c: Move the select-all logic into the ↵Wim Taymans1-12/+16
activation of the currently selected pad. We want... Original commit message from CVS: * gst/selector/gstinputselector.c: (gst_selector_pad_bufferalloc), (gst_selector_pad_chain), (gst_input_selector_getcaps), (gst_input_selector_activate_sinkpad): Move the select-all logic into the activation of the currently selected pad. We want to remember the last pad with activity in select-all mode. Fix the getcaps function, we can produce the union of the upstream caps in select-all mode, not the intersection like proxy_getcaps() does.
2008-08-05gst/rtpmanager/gstrtpjitterbuffer.c: Fix debug by logging the right seqnum.Håvard Graff1-2/+3
Original commit message from CVS: Patch by: Håvard Graff <havard dot graff at tandberg dot com> * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain): Fix debug by logging the right seqnum.
2008-08-05gst/rtpmanager/gstrtpbin.c: Release lock before emitting the request-pt-map ↵Olivier Crete1-0/+13
signal. Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/gstrtpbin.c: (get_pt_map): Release lock before emitting the request-pt-map signal. Fixes #543480.
2008-08-02gst/deinterlace2/: Use oil_memcpy() instead of memcpy() as it's faster for ↵Sebastian Dröge8-25/+25
the sizes that are usually used here. Original commit message from CVS: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace_simple_method_interpolate_scanline), (gst_deinterlace_simple_method_copy_scanline), (gst_deinterlace_simple_method_deinterlace_frame): * gst/deinterlace2/tvtime/greedy.c: (deinterlace_frame_di_greedy): * gst/deinterlace2/tvtime/greedyh.c: (deinterlace_frame_di_greedyh): * gst/deinterlace2/tvtime/scalerbob.c: (deinterlace_scanline_scaler_bob): * gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy): * gst/deinterlace2/tvtime/weave.c: (deinterlace_scanline_weave), (copy_scanline): * gst/deinterlace2/tvtime/weavebff.c: (deinterlace_scanline_weave), (copy_scanline): * gst/deinterlace2/tvtime/weavetff.c: (deinterlace_scanline_weave), (copy_scanline): Use oil_memcpy() instead of memcpy() as it's faster for the sizes that are usually used here.
2008-08-02gst/deinterlace2/: Add the remaining tvtime deinterlacing methods and fix ↵Sebastian Dröge10-18/+836
the deinterlace_frame() implementation of G... Original commit message from CVS: * gst/deinterlace2/Makefile.am: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace_simple_method_deinterlace_frame), (gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method): * gst/deinterlace2/gstdeinterlace2.h: * gst/deinterlace2/tvtime/linear.c: (deinterlace_scanline_linear_c), (deinterlace_scanline_linear_mmx), (deinterlace_scanline_linear_mmxext), (gst_deinterlace_method_linear_class_init), (gst_deinterlace_method_linear_init): * gst/deinterlace2/tvtime/linearblend.c: (deinterlace_scanline_linear_blend_c), (deinterlace_scanline_linear_blend2_c), (deinterlace_scanline_linear_blend_mmx), (deinterlace_scanline_linear_blend2_mmx), (gst_deinterlace_method_linear_blend_class_init), (gst_deinterlace_method_linear_blend_init): * gst/deinterlace2/tvtime/plugins.h: * gst/deinterlace2/tvtime/scalerbob.c: (deinterlace_scanline_scaler_bob), (gst_deinterlace_method_scaler_bob_class_init), (gst_deinterlace_method_scaler_bob_init): * gst/deinterlace2/tvtime/weave.c: (deinterlace_scanline_weave), (copy_scanline), (gst_deinterlace_method_weave_class_init), (gst_deinterlace_method_weave_init): * gst/deinterlace2/tvtime/weavebff.c: (deinterlace_scanline_weave), (copy_scanline), (gst_deinterlace_method_weave_bff_class_init), (gst_deinterlace_method_weave_bff_init): * gst/deinterlace2/tvtime/weavetff.c: (deinterlace_scanline_weave), (copy_scanline), (gst_deinterlace_method_weave_tff_class_init), (gst_deinterlace_method_weave_tff_init): Add the remaining tvtime deinterlacing methods and fix the deinterlace_frame() implementation of GstDeinterlaceSimpleMethod.
2008-08-02gst/deinterlace2/tvtime/vfir.c: Implement the VFIR deinterlacing method as ↵Sebastian Dröge1-81/+34
simple method. Original commit message from CVS: * gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_c), (deinterlace_line_mmx), (gst_deinterlace_method_vfir_class_init): Implement the VFIR deinterlacing method as simple method.
2008-08-02gst/deinterlace2/gstdeinterlace2.*: Add a GstDeinterlaceSimpleMethod ↵Sebastian Dröge2-0/+225
subclass of GstDeinterlaceMethod that can be use... Original commit message from CVS: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace_simple_method_interpolate_scanline), (gst_deinterlace_simple_method_copy_scanline), (gst_deinterlace_simple_method_deinterlace_frame), (gst_deinterlace_simple_method_class_init), (gst_deinterlace_simple_method_init): * gst/deinterlace2/gstdeinterlace2.h: Add a GstDeinterlaceSimpleMethod subclass of GstDeinterlaceMethod that can be used by simple deinterlacing methods. They only have to provide a function for interpolating a scanline or copying a scanline.
2008-08-02gst/deinterlace2/gstdeinterlace2.c: Respect the latency of the deinterlacing ↵Sebastian Dröge1-8/+16
algorithm for the timestamps of every bu... Original commit message from CVS: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_chain): Respect the latency of the deinterlacing algorithm for the timestamps of every buffer.
2008-08-02gst/deinterlace2/tvtime/: Add the MMX registers to the clobbered registers ↵Sebastian Dröge2-5/+5
only if __MMX__ is defined. Original commit message from CVS: * gst/deinterlace2/tvtime/greedyh.asm: * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc: Add the MMX registers to the clobbered registers only if __MMX__ is defined.
2008-08-02gst/deinterlace2/: Enable tomsmocomp again as the C port will be ready for ↵Sebastian Dröge2-10/+4
the next release. Original commit message from CVS: * gst/deinterlace2/Makefile.am: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method), (gst_deinterlace2_class_init): Enable tomsmocomp again as the C port will be ready for the next release.
2008-08-02gst/deinterlace2/gstdeinterlace2.c: Don't use proxy_getcaps() but implement ↵Sebastian Dröge1-9/+199
our own getcaps() function that doubles/h... Original commit message from CVS: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_init), (gst_greatest_common_divisor), (gst_fraction_double), (gst_deinterlace2_getcaps), (gst_deinterlace2_setcaps): Don't use proxy_getcaps() but implement our own getcaps() function that doubles/halfs the framerate if all fields should be sent out.
2008-07-24gst/festival/gstfestival.c: Guard unistd.h with HAVE_UNISTD_HMichael Smith6-4/+12
Original commit message from CVS: * gst/festival/gstfestival.c: Guard unistd.h with HAVE_UNISTD_H * gst/modplug/libmodplug/load_it.cpp: * gst/modplug/libmodplug/sndfile.cpp: * gst/modplug/libmodplug/sndfile.h: * gst/modplug/libmodplug/stdafx.h: Support for compiling with MSVC: use _MSC_VER for detecting MSVC instead of MSC_VER. Make CanPackSamples take the type it's passed. Change scope of a variable in load_it.cpp to MSVC's scoping rules. * gst/sdp/gstsdpdemux.c: Guard unistd.h with HAVE_UNISTD_H Fixes #544457.
2008-07-21gst/modplug/libmodplug/Makefile.am: Use GST_CXXFLAGS instead of GST_CFLAGS ↵Sebastian Dröge1-1/+1
for CXXFLAGS. GST_CFLAGS can contain compi... Original commit message from CVS: * gst/modplug/libmodplug/Makefile.am: Use GST_CXXFLAGS instead of GST_CFLAGS for CXXFLAGS. GST_CFLAGS can contain compiler parameters that are invalid for C++. Fixes bug #543860.
2008-07-19Remove interleave and replaygain plugins that have moved to -goodJan Schmidt18-5261/+0
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/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.prerequisites: * docs/plugins/inspect/plugin-interleave.xml: * docs/plugins/inspect/plugin-replaygain.xml: * gst/interleave/Makefile.am: * gst/interleave/deinterleave.c: * gst/interleave/deinterleave.h: * gst/interleave/interleave.c: * gst/interleave/interleave.h: * gst/interleave/plugin.c: * gst/interleave/plugin.h: * gst/replaygain/Makefile.am: * gst/replaygain/gstrganalysis.c: * gst/replaygain/gstrganalysis.h: * gst/replaygain/gstrglimiter.c: * gst/replaygain/gstrglimiter.h: * gst/replaygain/gstrgvolume.c: * gst/replaygain/gstrgvolume.h: * gst/replaygain/replaygain.c: * gst/replaygain/replaygain.h: * gst/replaygain/rganalysis.c: * gst/replaygain/rganalysis.h: * tests/check/Makefile.am: * tests/check/elements/deinterleave.c: * tests/check/elements/interleave.c: * tests/check/elements/rganalysis.c: * tests/check/elements/rglimiter.c: * tests/check/elements/rgvolume.c: Remove interleave and replaygain plugins that have moved to -good
2008-07-18Disable the tomsmocomp algorithm for this release as it's buggy and has no C ↵Sebastian Dröge6-19/+31
implementation yet. Original commit message from CVS: * configure.ac: * gst/deinterlace2/Makefile.am: * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method), (gst_deinterlace2_class_init), (gst_deinterlace2_init): * gst/deinterlace2/gstdeinterlace2.h: * gst/deinterlace2/tvtime/greedy.c: (gst_deinterlace_method_greedy_l_class_init): * gst/deinterlace2/tvtime/greedyh.c: (gst_deinterlace_method_greedy_h_class_init): * gst/deinterlace2/tvtime/vfir.c: (gst_deinterlace_method_vfir_class_init): Disable the tomsmocomp algorithm for this release as it's buggy and has no C implementation yet. Build the deinterlace2 plugin on all architectures but still mark it as experimental. Build the x86 inline assembly only if GCC inline assembly is supported and only on x86 or amd64. Fixes bug #543286.
2008-07-16gst/real/gstrealvideodec.c: Add some casts to fix the build on ForteJan Schmidt1-4/+5
Original commit message from CVS: * gst/real/gstrealvideodec.c: (open_library): Add some casts to fix the build on Forte
2008-07-14gst/deinterlace2/tvtime/: Fix build on x86_64Edward Hervey3-0/+6
Original commit message from CVS: * gst/deinterlace2/tvtime/greedy.c: (gst_deinterlace_method_greedy_l_class_init): * gst/deinterlace2/tvtime/greedyh.c: (gst_deinterlace_method_greedy_h_class_init): * gst/deinterlace2/tvtime/vfir.c: (gst_deinterlace_method_vfir_class_init): Fix build on x86_64
2008-07-14ext/resindvd/gstmpegdemux.c: Remove whitespace line.Jan Schmidt1-1/+1
Original commit message from CVS: * ext/resindvd/gstmpegdemux.c: Remove whitespace line. * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdbin.h: Make it so that audio/video pads aren't added to the bin until after data flow starts. * ext/resindvd/resin-play: Move video buffer queue outside resindvdbin * ext/resindvd/resindvdsrc.c: Check that the nav_clock_id didn't already get unscheduled. * gst/dvdspu/gstdvdspu.c: Remove assert that sometimes triggers erroneously.
2008-07-13gst/deinterlace2/tvtime/greedyh.asm: Always use the C implementation if ↵Sebastian Dröge1-5/+5
width is not a multiple of 4. The assembly op... Original commit message from CVS: * gst/deinterlace2/tvtime/greedyh.asm: Always use the C implementation if width is not a multiple of 4. The assembly optimized version only handle this and calling the C implementation for the remaining part doesn't work because it needs previous calculations.
2008-07-13gst/deinterlace2/tvtime/: Some cleanup, use 3DNOW instead of TDNOW in macros.Sebastian Dröge6-52/+51
Original commit message from CVS: * gst/deinterlace2/tvtime/greedyh.asm: * gst/deinterlace2/tvtime/greedyh.c: * gst/deinterlace2/tvtime/greedyhmacros.h: Some cleanup, use 3DNOW instead of TDNOW in macros. * gst/deinterlace2/tvtime/tomsmocomp.c: (gst_deinterlace_method_tomsmocomp_class_init): * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc: * gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h: The SSE method in fact only needs MMXEXT, declare it as such.
2008-07-10Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. ↵Stefan Kost1-6/+4
Drop mentining that all our example pipe... Original commit message from CVS: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/gst-plugins-base-plugins.signals: * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playback.xml: * docs/plugins/inspect/plugin-queue2.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-uridecodebin.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasrc.c: * ext/gio/gstgiosink.c: * ext/gio/gstgiosrc.c: * ext/gio/gstgiostreamsink.c: * ext/gio/gstgiostreamsrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/theora/theoraparse.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * ext/vorbis/vorbisparse.c: * ext/vorbis/vorbistag.c: * gst/adder/gstadder.c: * gst/audioconvert/gstaudioconvert.c: * gst/audioresample/gstaudioresample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpserversink.c: * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipelines are "simple" pipelines.