summaryrefslogtreecommitdiffstats
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2007-05-15gst/rtpmanager/gstrtpbin.c: g_hash_table_remove_all() only exists in 2.12. ↵David Schleef1-0/+11
Work around. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: g_hash_table_remove_all() only exists in 2.12. Work around.
2007-05-15Add a Bayer-to-RGB converter. You know you want one, uh-huh.David Schleef3-0/+422
Original commit message from CVS: * configure.ac: * gst/bayer/Makefile.am: * gst/bayer/gstbayer.c: * gst/bayer/gstbayer2rgb.c: Add a Bayer-to-RGB converter. You know you want one, uh-huh. Partial fix for #314160.
2007-05-14gst/switch/gstswitch.c (ARG_ACTIVE_SOURCE, ARG_STOP_VALUE,Zaheer Abbas Merali2-3/+88
Original commit message from CVS: * gst/switch/gstswitch.c (ARG_ACTIVE_SOURCE, ARG_STOP_VALUE, ARG_LAST_TS, parent_class, gst_switch_release_pad, gst_switch_request_new_pad, gst_switch_chain, gst_switch_event, gst_switch_set_property, gst_switch_get_property, gst_switch_getcaps, gst_switch_dispose, gst_switch_init, gst_switch_class_init): * gst/switch/gstswitch.h (previous_sinkpad, nb_sinkpads, stop_value, current_start, last_ts): Allow application to provide a stop timestamp, so a new segment update can be sent before switching.
2007-05-14gst/rtpmanager/async_jitter_queue.c: Fix leak when flushing.Wim Taymans4-4/+41
Original commit message from CVS: * gst/rtpmanager/async_jitter_queue.c: (async_jitter_queue_set_flushing_unlocked): Fix leak when flushing. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_clear_pt_map), (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: Add clear-pt-map signal. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_loop): Init clock-rate to -1 to mark unknow clock rate. Fix flushing.
2007-05-13gst/replaygain/rganalysis.c: Fix wrong ifdef for visual C++. Fixes: #437403.David Schleef1-2/+4
Original commit message from CVS: * gst/replaygain/rganalysis.c: Fix wrong ifdef for visual C++. Fixes: #437403. By Ali Sabil <ali.sabil@gmail.com>.
2007-05-10gst/qtdemux/qtdemux.c (gst_qtdemux_move_stream, ↵Stefan Kost4-29/+40
gst_qtdemux_loop_state_header, gst_qtdemux_activate_segment, gst_qtde... Original commit message from CVS: * gst/qtdemux/qtdemux.c (gst_qtdemux_move_stream, gst_qtdemux_loop_state_header, gst_qtdemux_activate_segment, gst_qtdemux_prepare_current_sample, gst_qtdemux_combine_flows, gst_qtdemux_loop_state_movie, gst_qtdemux_loop, qtdemux_parse_segments, qtdemux_parse_trak): * gst/rtpmanager/rtpsession.c (rtp_session_get_bandwidth, rtp_session_get_rtcp_bandwidth, rtp_session_get_cname, rtp_session_get_name, rtp_session_get_email, rtp_session_get_phone, rtp_session_get_location, rtp_session_get_tool, rtp_session_process_bye, session_report_blocks): * gst/rtpmanager/rtpsource.c (rtp_source_process_rtp, rtp_source_send_rtp, rtp_source_process_sr, rtp_source_process_rb): More format arg fixing (spotted by Ali Sabil <ali.sabil@gmail.com>). * gst/switch/Makefile.am: Add require libraries(spotted by Ali Sabil <ali.sabil@gmail.com>).
2007-05-10gst/rtpmanager/async_jitter_queue.c (tail_buffer_duration, ↵Stefan Kost1-30/+30
async_jitter_queue_ref, async_jitter_queue_ref_unlocked, a... Original commit message from CVS: * gst/rtpmanager/async_jitter_queue.c (tail_buffer_duration, async_jitter_queue_ref, async_jitter_queue_ref_unlocked, async_jitter_queue_set_low_threshold, async_jitter_queue_length_ts_units_unlocked, async_jitter_queue_unref_and_unlock, async_jitter_queue_unref, async_jitter_queue_lock, async_jitter_queue_push, async_jitter_queue_push_unlocked, async_jitter_queue_push_sorted, async_jitter_queue_pop_intern_unlocked, async_jitter_queue_pop, async_jitter_queue_pop_unlocked, async_jitter_queue_length_unlocked, async_jitter_queue_set_flushing_unlocked, async_jitter_queue_unset_flushing_unlocked): Format arg fix (spotted by Ali Sabil <ali.sabil@gmail.com>)
2007-05-09gst/rtpmanager/gstrtpjitterbuffer.c: Pass queries upstream.Wim Taymans1-0/+1
Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_query): Pass queries upstream.
2007-05-06gst/real/: Use GModule instead of using dlsym() directly. Fixes #430598.Tim-Philipp Müller4-60/+85
Original commit message from CVS: * gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps), (gst_real_audio_dec_finalize): * gst/real/gstrealaudiodec.h: * gst/real/gstrealvideodec.c: (open_library), (close_library): * gst/real/gstrealvideodec.h: Use GModule instead of using dlsym() directly. Fixes #430598.
2007-05-04gst/speed/gstspeed.c: Fix event handling a bit by replacing completely ↵Tim-Philipp Müller1-88/+47
dubious code written by someone else with comp... Original commit message from CVS: * gst/speed/gstspeed.c: (speed_src_event), (speed_sink_event), (speed_chain), (speed_change_state): Fix event handling a bit by replacing completely dubious code written by someone else with completely dubious code written by me. Should at least fix #412077 though.
2007-05-04gst/speed/gstspeed.c: Add debug category; use gst_pad_query_peer_*() utility ↵Tim-Philipp Müller1-29/+51
functions; use gst_util_scale*(); add gt... Original commit message from CVS: * gst/speed/gstspeed.c: (speed_src_query), (speed_chain), (plugin_init): Add debug category; use gst_pad_query_peer_*() utility functions; use gst_util_scale*(); add gtk-doc blurb.
2007-05-04gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug info.Wim Taymans2-2/+6
Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_query): Add some debug info. * gst/rtpmanager/rtpsession.c: (rtp_session_init), (rtp_session_send_rtp): Store real user name in the session.
2007-05-03examples/switch/switcher.c (loop, my_bus_callback, switch_timer, ↵Zaheer Abbas Merali2-241/+302
last_message_received, main): gst/switch/gstswitch.c... Original commit message from CVS: * configure.ac: * examples/Makefile.am: * examples/switch/switcher.c (loop, my_bus_callback, switch_timer, last_message_received, main): * gst/switch/gstswitch.c (GST_CAT_DEFAULT, gst_switch_details, gst_switch_src_factory, parent_class, gst_switch_release_pad, gst_switch_request_new_pad, gst_switch_chain, gst_switch_event, gst_switch_set_property, gst_switch_get_property, gst_switch_get_linked_pad, gst_switch_getcaps, gst_switch_bufferalloc, gst_switch_get_linked_pads, gst_switch_dispose, gst_switch_init, gst_switch_base_init, gst_switch_class_init): * gst/switch/gstswitch.h (GstSwitch, GstSwitchClass, _GstSwitch, element, active_sinkpad, srcpad, nb_sinkpads, newsegment_events, need_to_send_newsegment): Port switch element and example program to 0.10.
2007-04-30gst/rtpmanager/async_jitter_queue.c: Fix the case where the buffer underruns ↵Wim Taymans7-43/+116
and does not block. Original commit message from CVS: * gst/rtpmanager/async_jitter_queue.c: (signal_waiting_threads), (async_jitter_queue_pop_intern_unlocked): Fix the case where the buffer underruns and does not block. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init), (create_recv_rtcp), (create_send_rtp), (create_rtcp), (gst_rtp_bin_request_new_pad): Rename RTCP send pad, like in the session manager. Allow getting an RTCP pad for receiving even if we don't receive RTP. fix handling of send_rtp_src pad. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): When no pt map could be found, fall back to the sinkpad caps. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp), (gst_rtp_session_send_rtp), (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink), (create_send_rtcp_src): Fix pad names. * gst/rtpmanager/rtpsession.c: (source_push_rtp), (rtp_session_create_source), (rtp_session_process_sr), (rtp_session_send_rtp), (session_start_rtcp): * gst/rtpmanager/rtpsession.h: Unlock session when performing a callback. Add callbacks for the internal session object. Fix sending of RTP packets. first attempt at adding NTP times in the SR packets. Small debug and doc improvements. * gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp): Update stats for SR reports.
2007-04-29gst/rtpmanager/gstrtpsession.c: Remove debug.Wim Taymans3-11/+14
Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_send_rtcp): Remove debug. * gst/rtpmanager/rtpsession.c: (rtp_session_process_sr), (rtp_session_process_sdes), (calculate_rtcp_interval), (rtp_session_next_timeout), (session_report_blocks): * gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval): Improve debugging Fix interval for BYE/RTCP packets.
2007-04-29autogen.sh: Require automake 1.7Thomas Vander Stichele1-3/+2
Original commit message from CVS: * autogen.sh: Require automake 1.7 * ext/alsaspdif/Makefile.am: * ext/divx/Makefile.am: * ext/ivorbis/Makefile.am: * ext/musicbrainz/Makefile.am: * ext/neon/Makefile.am: * ext/sdl/Makefile.am: * ext/swfdec/Makefile.am: * ext/theora/Makefile.am: * ext/wavpack/Makefile.am: * ext/xvid/Makefile.am: * gst/modplug/Makefile.am: Fix up Makefile.am accordingly.
2007-04-27ext/theora/theoradec.c: Calculate buffer duration correctly to generate a ↵Julien Moutte1-3/+1
perfect stream (#433888). Original commit message from CVS: 2007-04-27 Julien MOUTTE <julien@moutte.net> * ext/theora/theoradec.c: (_theora_granule_time), (theora_dec_push_forward), (theora_handle_data_packet), (theora_dec_decode_buffer): Calculate buffer duration correctly to generate a perfect stream (#433888). * gst/audioresample/gstaudioresample.c: (audioresample_check_discont): Glib provides ABS.
2007-04-27gst/rtpmanager/gstrtpsession.c: Move reconsideration code to the rtpsession ↵Wim Taymans6-181/+656
object. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (rtcp_thread), (gst_rtp_session_send_rtcp), (gst_rtp_session_reconsider): Move reconsideration code to the rtpsession object. Simplify timout handling and add reconsideration. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (rtp_session_finalize), (on_bye_ssrc), (on_bye_timeout), (on_timeout), (rtp_session_set_callbacks), (obtain_source), (rtp_session_create_source), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_bye), (rtp_session_process_rtcp), (calculate_rtcp_interval), (rtp_session_send_bye), (rtp_session_next_timeout), (session_start_rtcp), (session_report_blocks), (session_cleanup), (session_sdes), (session_bye), (is_rtcp_time), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Handle timeout of inactive sources and senders. Implement BYE scheduling. * gst/rtpmanager/rtpsource.c: (calculate_jitter), (rtp_source_process_sr), (rtp_source_get_last_sr), (rtp_source_get_last_rb): * gst/rtpmanager/rtpsource.h: Add members to check for timeouts. * gst/rtpmanager/rtpstats.c: (rtp_stats_init_defaults), (rtp_stats_calculate_rtcp_interval), (rtp_stats_add_rtcp_jitter), (rtp_stats_calculate_bye_interval): * gst/rtpmanager/rtpstats.h: Use RFC algorithm for calculating the reporting interval.
2007-04-25gst/rtpmanager/gstrtpsession.c: Implement forward and reverse reconsideration.Wim Taymans3-23/+79
Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (rtcp_thread): Implement forward and reverse reconsideration. * gst/rtpmanager/rtpsession.c: (rtp_session_get_num_sources), (rtp_session_get_num_active_sources), (rtp_session_process_sr), (session_report_blocks): * gst/rtpmanager/rtpsession.h: Small cleanups.
2007-04-25gst/rtpmanager/gstrtpbin.*: Make default jitterbuffer latency configurable.Wim Taymans3-16/+36
Original commit message from CVS: reviewed by: <delete if not using a buddy> * gst/rtpmanager/gstrtpbin.c: (create_stream), (gst_rtp_bin_class_init), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property): * gst/rtpmanager/gstrtpbin.h: Make default jitterbuffer latency configurable. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): Debuging cleanups.
2007-04-25gst/rtpmanager/gstrtpjitterbuffer.c: Report NO_PREROLL when going to PAUSED.Wim Taymans6-42/+161
Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_change_state): Report NO_PREROLL when going to PAUSED. * gst/rtpmanager/gstrtpsession.c: (rtcp_thread): Don't send RTCP right before we are shutting down. * gst/rtpmanager/rtpsession.c: (rtp_session_process_rtp), (rtp_session_process_sr), (session_report_blocks), (rtp_session_perform_reporting): Improve report blocks. * gst/rtpmanager/rtpsource.c: (calculate_jitter), (init_seq), (rtp_source_process_rtp), (rtp_source_process_sr), (rtp_source_process_rb), (rtp_source_get_last_sr), (rtp_source_get_last_rb): * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.h: Cleanups, add methods to access stats.
2007-04-25gst/rtpmanager/gstrtpbin.c: fix for pad name changeWim Taymans8-86/+625
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_rtcp): fix for pad name change * gst/rtpmanager/gstrtpsession.c: (rtcp_thread), (gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate): Fix for renamed methods. * gst/rtpmanager/rtpsession.c: (rtp_session_init), (rtp_session_finalize), (rtp_session_set_cname), (rtp_session_get_cname), (rtp_session_set_name), (rtp_session_get_name), (rtp_session_set_email), (rtp_session_get_email), (rtp_session_set_phone), (rtp_session_get_phone), (rtp_session_set_location), (rtp_session_get_location), (rtp_session_set_tool), (rtp_session_get_tool), (rtp_session_set_note), (rtp_session_get_note), (source_push_rtp), (obtain_source), (rtp_session_add_source), (rtp_session_get_source_by_ssrc), (rtp_session_create_source), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_sdes), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_get_reporting_interval), (session_report_blocks), (session_sdes), (rtp_session_perform_reporting): * gst/rtpmanager/rtpsession.h: Prepare for implementing SSRC sampling. Create SSRC for the session. Add methods to set the SDES entries. fix accounting of senders/receivers. Implement SR/RR/SDES RTCP reporting. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (init_seq), (rtp_source_process_rtp), (rtp_source_process_sr): * gst/rtpmanager/rtpsource.h: Implement extended sequence number. * gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval): * gst/rtpmanager/rtpstats.h: Rename some fields.
2007-04-24Plug some leaks; try to make build bot happy again.Tim-Philipp Müller1-10/+11
Original commit message from CVS: * gst/y4m/gsty4mencode.c: (gst_y4m_encode_init), (gst_y4m_encode_setcaps): * tests/check/elements/y4menc.c: (GST_START_TEST): Plug some leaks; try to make build bot happy again.
2007-04-21gst/Makefile.am: Fix distcheck, hopefully (rtpmanager is already in ↵Tim-Philipp Müller1-1/+1
GST_PLUGINS_ALL). Original commit message from CVS: * gst/Makefile.am: Fix distcheck, hopefully (rtpmanager is already in GST_PLUGINS_ALL).
2007-04-21gst/rtpmanager/rtpsession.c: Don't use GLib-2.10 API, we only require GLib ↵Tim-Philipp Müller1-2/+2
2.8 at the moment. Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_finalize): Don't use GLib-2.10 API, we only require GLib 2.8 at the moment.
2007-04-21gst/audioresample/gstaudioresample.c: Make more functions static, just ↵Tim-Philipp Müller1-9/+9
because we can. Original commit message from CVS: * gst/audioresample/gstaudioresample.c: Make more functions static, just because we can.
2007-04-18gst/Makefile.am: Add rtpmanager dir to dist.Wim Taymans1-1/+1
Original commit message from CVS: * gst/Makefile.am: Add rtpmanager dir to dist.
2007-04-18configure.ac: Disable rtpmanager for now because it depends on CVS -base.Wim Taymans11-35/+2477
Original commit message from CVS: * configure.ac: Disable rtpmanager for now because it depends on CVS -base. * gst/rtpmanager/Makefile.am: Added new files for session manager. * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (create_stream), (pt_map_requested), (new_ssrc_pad_found): Some cleanups. the session manager can now also request a pt-map. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_base_init), (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_finalize), (rtcp_thread), (start_rtcp_thread), (stop_rtcp_thread), (gst_rtp_session_change_state), (gst_rtp_session_process_rtp), (gst_rtp_session_send_rtp), (gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate), (gst_rtp_session_get_time), (gst_rtp_session_event_recv_rtp_sink), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_event_recv_rtcp_sink), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_chain_send_rtp), (create_send_rtcp_src), (gst_rtp_session_request_new_pad): * gst/rtpmanager/gstrtpsession.h: We can ask for pt-map now too when the session manager needs it. Hook up to the new session manager, implement the needed callbacks for pushing data, getting clock time and requesting clock-rates. Rename rtcp_src to send_rtcp_src to make it clear that this RTCP is to be send to clients. Add code to start and stop the thread that will schedule RTCP through the session manager. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (rtp_session_finalize), (rtp_session_set_property), (rtp_session_get_property), (on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated), (on_bye_ssrc), (rtp_session_new), (rtp_session_set_callbacks), (rtp_session_set_bandwidth), (rtp_session_get_bandwidth), (rtp_session_set_rtcp_bandwidth), (rtp_session_get_rtcp_bandwidth), (source_push_rtp), (source_clock_rate), (check_collision), (obtain_source), (rtp_session_add_source), (rtp_session_get_num_sources), (rtp_session_get_num_active_sources), (rtp_session_get_source_by_ssrc), (rtp_session_get_source_by_cname), (rtp_session_create_source), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_sdes), (rtp_session_process_bye), (rtp_session_process_app), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_get_rtcp_interval), (rtp_session_produce_rtcp): * gst/rtpmanager/rtpsession.h: The advanced beginnings of the main session manager that handles the participant database of RTPSources, SSRC probation, SSRC collisions, parse RTCP to update source stats. etc.. * gst/rtpmanager/rtpsource.c: (rtp_source_class_init), (rtp_source_init), (rtp_source_finalize), (rtp_source_new), (rtp_source_set_callbacks), (rtp_source_set_as_csrc), (rtp_source_set_rtp_from), (rtp_source_set_rtcp_from), (push_packet), (get_clock_rate), (calculate_jitter), (rtp_source_process_rtp), (rtp_source_process_bye), (rtp_source_send_rtp), (rtp_source_process_sr), (rtp_source_process_rb): * gst/rtpmanager/rtpsource.h: Object that encapsulates an SSRC and its state in the database. Calculates the jitter and transit times of data packets. * gst/rtpmanager/rtpstats.c: (rtp_stats_init_defaults), (rtp_stats_calculate_rtcp_interval), (rtp_stats_add_rtcp_jitter): * gst/rtpmanager/rtpstats.h: Various stats regarding the session and sources. Used to calculate the RTCP interval.
2007-04-17gst/app/Makefile.am: Fix CFLAGS and hopefully #430594.Tim-Philipp Müller1-3/+1
Original commit message from CVS: * gst/app/Makefile.am: Fix CFLAGS and hopefully #430594.
2007-04-17gst/nsf/types.h: Rename #ifndef header guard symbol to something less ↵Tim-Philipp Müller1-11/+23
generic, so types.h doesn't get skipped over wh... Original commit message from CVS: * gst/nsf/types.h: Rename #ifndef header guard symbol to something less generic, so types.h doesn't get skipped over when compiling on MingW. Include GLib headers and use those to set the endianness and the basic types so that this isn't entirely broken for non-x86 architectures.
2007-04-17gst/mve/gstmvedemux.c: Use G_LITTLE_ENDIAN instead of LITTLE_ENDIAN, so ↵Tim-Philipp Müller1-1/+1
stuff compiles on Original commit message from CVS: * gst/mve/gstmvedemux.c: (gst_mve_audio_init): Use G_LITTLE_ENDIAN instead of LITTLE_ENDIAN, so stuff compiles on MingW (no idea though why we add a BYTE_ORDER endianness field if the audio is compressed).
2007-04-16ext/pango/gstclockoverlay.c: Fix unused variable warning if HAVE_LOCALTIME_R ↵Vincent Torri1-1/+1
is undefinied Original commit message from CVS: Patch by: Vincent Torri <vtorri at univ-evry dot fr> * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time): Fix unused variable warning if HAVE_LOCALTIME_R is undefinied * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps): * gst/audioresample/gstaudioresample.c: (audioresample_do_output): Use the correct format strings for integer formats.
2007-04-13gst/rtpmanager/: Protect lists and structures with locks.Wim Taymans4-12/+71
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (gst_rtp_bin_init), (gst_rtp_bin_finalize), (new_ssrc_pad_found), (create_recv_rtp), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_finalize), (gst_rtp_session_event_recv_rtp_sink), (gst_rtp_session_event_recv_rtcp_sink), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_request_new_pad): Protect lists and structures with locks. Return FLOW_OK from RTCP messages for now.
2007-04-12gst/qtdemux/qtdemux.c: Make timescale 32 bits again so we don't screw up the ↵Wim Taymans1-1/+1
pts_offset calculations. Original commit message from CVS: * gst/qtdemux/qtdemux.c: Make timescale 32 bits again so we don't screw up the pts_offset calculations.
2007-04-12gst/rtpmanager/gstrtpbin.c: Emit pt map requests and cache results.Wim Taymans4-91/+162
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (create_stream), (gst_rtp_bin_class_init), (pt_map_requested): Emit pt map requests and cache results. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_parse_caps), (gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_get_clock_rate), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): Emit request-pt-map signals.
2007-04-11gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers.Wim Taymans7-27/+191
Original commit message from CVS: * gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers. * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (clock_rate_request), (create_stream), (gst_rtp_bin_class_init), (pt_map_requested), (new_ssrc_pad_found), (create_recv_rtp): * gst/rtpmanager/gstrtpbin.h: Prepare for caching pt maps. Connect to signals to collect pt maps. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpjitterbuffer.h: Add request_clock_rate signal. Use scale insteat of scale_int because the later does not deal with negative numbers. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init), (gst_rtp_pt_demux_chain): * gst/rtpmanager/gstrtpptdemux.h: Implement request-pt-map signal.
2007-04-11gst/qtdemux/: Handle version 1 mdhd atoms to get extended precision durations.Wim Taymans2-21/+52
Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration), (qtdemux_parse_samples), (qtdemux_parse_segments), (qtdemux_parse_trak), (qtdemux_parse_tree): * gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_mdhd): Handle version 1 mdhd atoms to get extended precision durations. Fixes #426972.
2007-04-10gst/rtpmanager/: Added custom marshallers for signals.Wim Taymans7-9/+42
Original commit message from CVS: * gst/rtpmanager/.cvsignore: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/gstrtpbin-marshal.list: Added custom marshallers for signals. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: Prepare for emiting pt map signals. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init): * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_class_init): Fix signals.
2007-04-06gst/rtpmanager/gstrtpbin.*: Provide a clock.Wim Taymans2-0/+15
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init), (gst_rtp_bin_init), (gst_rtp_bin_provide_clock): * gst/rtpmanager/gstrtpbin.h: Provide a clock.
2007-04-06gst/rtpmanager/gstrtpbin.c: Fix pad template name parsing.Wim Taymans1-1/+1
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_rtcp): Fix pad template name parsing.
2007-04-05gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug and comments.Wim Taymans1-6/+15
Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Add some debug and comments. Fix double unref() in error cases.
2007-04-05gst/qtdemux/gstrtpxqtdepay.*: Try to recover from packet loss a little better.Wim Taymans2-1/+25
Original commit message from CVS: * gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process), (gst_rtp_xqt_depay_change_state): * gst/qtdemux/gstrtpxqtdepay.h: Try to recover from packet loss a little better.
2007-04-05gst/rtpmanager/gstrtpbin.*: Add debugging category.Wim Taymans7-56/+446
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (find_session_by_id), (create_session), (find_stream_by_ssrc), (create_stream), (gst_rtp_bin_class_init), (new_payload_found), (new_ssrc_pad_found), (create_recv_rtp), (create_recv_rtcp), (create_send_rtp), (create_rtcp): * gst/rtpmanager/gstrtpbin.h: Add debugging category. Added RTPStream to manage stream per SSRC, each with its own jitterbuffer and ptdemux. Added SSRCDemux. Connect to various SSRC and PT signals and create ghostpads, link stuff. * gst/rtpmanager/gstrtpmanager.c: (plugin_init): Added rtpbin to elements. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): Fix caps and forward GstFlowReturn * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_event_recv_rtp_sink), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_event_recv_rtcp_sink), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink), (create_rtcp_src), (gst_rtp_session_request_new_pad): Add debug category. Add event handling * gst/rtpmanager/gstrtpssrcdemux.c: (find_rtp_pad_for_ssrc), (create_rtp_pad_for_ssrc), (gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_change_state): * gst/rtpmanager/gstrtpssrcdemux.h: Add debug category. Add new-pt-pad signal.
2007-04-04gst/rtpmanager/: Added simple SSRC demuxer.Wim Taymans4-0/+360
Original commit message from CVS: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/gstrtpmanager.c: (plugin_init): * gst/rtpmanager/gstrtpssrcdemux.c: (find_pad_for_ssrc), (create_pad_for_ssrc), (gst_rtp_ssrc_demux_base_init), (gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_finalize), (gst_rtp_ssrc_demux_sink_event), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_src_event), (gst_rtp_ssrc_demux_change_state): * gst/rtpmanager/gstrtpssrcdemux.h: Added simple SSRC demuxer.
2007-04-03gst/rtpmanager/: Some more ghostpad magic.Wim Taymans3-7/+350
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (find_session_by_id), (create_session), (gst_rtp_bin_base_init), (create_recv_rtp), (create_recv_rtcp), (create_send_rtp), (create_rtcp), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: Some more ghostpad magic.
2007-04-03gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly.Wim Taymans1-0/+1
Original commit message from CVS: * gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly.
2007-04-03Add RTP session management elements. Still in progress.Wim Taymans14-0/+3841
Original commit message from CVS: * configure.ac: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/async_jitter_queue.c: (async_jitter_queue_new), (signal_waiting_threads), (async_jitter_queue_ref), (async_jitter_queue_ref_unlocked), (async_jitter_queue_set_low_threshold), (async_jitter_queue_set_high_threshold), (async_jitter_queue_set_max_queue_length), (async_jitter_queue_get_g_queue), (calculate_ts_diff), (async_jitter_queue_length_ts_units_unlocked), (async_jitter_queue_unref_and_unlock), (async_jitter_queue_unref), (async_jitter_queue_lock), (async_jitter_queue_unlock), (async_jitter_queue_push), (async_jitter_queue_push_unlocked), (async_jitter_queue_push_sorted), (async_jitter_queue_push_sorted_unlocked), (async_jitter_queue_insert_after_unlocked), (async_jitter_queue_pop_intern_unlocked), (async_jitter_queue_pop), (async_jitter_queue_pop_unlocked), (async_jitter_queue_length), (async_jitter_queue_length_unlocked), (async_jitter_queue_set_flushing_unlocked), (async_jitter_queue_unset_flushing_unlocked), (async_jitter_queue_set_blocking_unlocked): * gst/rtpmanager/async_jitter_queue.h: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init), (gst_rtp_bin_class_init), (gst_rtp_bin_init), (gst_rtp_bin_finalize), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property), (gst_rtp_bin_change_state), (gst_rtp_bin_request_new_pad), (gst_rtp_bin_release_pad): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: (new_pad), (create_stream), (free_stream), (find_stream_by_ssrc), (gst_rtp_client_base_init), (gst_rtp_client_class_init), (gst_rtp_client_init), (gst_rtp_client_finalize), (gst_rtp_client_set_property), (gst_rtp_client_get_property), (gst_rtp_client_change_state), (gst_rtp_client_request_new_pad), (gst_rtp_client_release_pad): * gst/rtpmanager/gstrtpclient.h: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_base_init), (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_dispose), (gst_rtp_jitter_buffer_getcaps), (gst_jitter_buffer_sink_setcaps), (free_func), (gst_rtp_jitter_buffer_flush_start), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_src_activate_push), (gst_rtp_jitter_buffer_change_state), (priv_compare_rtp_seq_lt), (compare_rtp_buffers_seq_num), (gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpmanager.c: (plugin_init): * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_base_init), (gst_rtp_pt_demux_class_init), (gst_rtp_pt_demux_init), (gst_rtp_pt_demux_finalize), (gst_rtp_pt_demux_chain), (gst_rtp_pt_demux_getcaps), (find_pad_for_pt), (gst_rtp_pt_demux_setup), (gst_rtp_pt_demux_release), (gst_rtp_pt_demux_change_state): * gst/rtpmanager/gstrtpptdemux.h: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_base_init), (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_finalize), (gst_rtp_session_set_property), (gst_rtp_session_get_property), (gst_rtp_session_change_state), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink), (create_rtcp_src), (gst_rtp_session_request_new_pad), (gst_rtp_session_release_pad): * gst/rtpmanager/gstrtpsession.h: Add RTP session management elements. Still in progress.
2007-03-28gst/qtdemux/: Process 'ctts' atoms, which are present in AVC ISO files (.mov ↵Edward Hervey5-4/+53
files with h264 video). Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample), (gst_qtdemux_chain), (qtdemux_parse_samples): * gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_ctts): * gst/qtdemux/qtdemux_dump.h: * gst/qtdemux/qtdemux_fourcc.h: * gst/qtdemux/qtdemux_types.c: Process 'ctts' atoms, which are present in AVC ISO files (.mov files with h264 video). Use the offset present in 'ctts' to calculate the PTS for each packet and set the PTS on outgoing buffers. Fixes #423283
2007-03-24gst/interleave/deinterleave.c: Remove 'channel-positions' field when munging ↵Tim-Philipp Müller1-0/+1
input caps into 1-channel output caps (I... Original commit message from CVS: * gst/interleave/deinterleave.c: (gst_deinterleave_sink_setcaps): Remove 'channel-positions' field when munging input caps into 1-channel output caps (I guess technically we should set the position for each channel on the output caps if it's non-NONE, but I'll save that as a task for another day).
2007-03-23gst/vmnc/vmncdec.c: Redesign to include a parser for raw files (no ↵Michael Smith2-88/+273
timestamps in that mode yet, though). Original commit message from CVS: * gst/vmnc/vmncdec.c: (gst_vmnc_dec_class_init), (gst_vmnc_dec_init), (vmnc_dec_finalize), (gst_vmnc_dec_reset), (vmnc_handle_wmvi_rectangle), (render_colour_cursor), (render_cursor), (vmnc_make_buffer), (vmnc_handle_wmvd_rectangle), (vmnc_handle_wmve_rectangle), (vmnc_handle_wmvf_rectangle), (vmnc_handle_wmvg_rectangle), (vmnc_handle_wmvh_rectangle), (vmnc_handle_wmvj_rectangle), (render_raw_tile), (render_subrect), (vmnc_handle_raw_rectangle), (vmnc_handle_copy_rectangle), (vmnc_handle_hextile_rectangle), (vmnc_handle_packet), (vmnc_dec_setcaps), (vmnc_dec_chain_frame), (vmnc_dec_chain), (vmnc_dec_set_property), (vmnc_dec_get_property): Redesign to include a parser for raw files (no timestamps in that mode yet, though).