Commit graph

740 commits

Author SHA1 Message Date
Wim Taymans
bca404647f gst/rtpmanager/gstrtpjitterbuffer.c: Pass queries upstream.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_query):
Pass queries upstream.
2007-05-09 11:24:22 +00:00
Tim-Philipp Müller
e792718ddf gst/real/: Use GModule instead of using dlsym() directly. Fixes #430598.
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-06 15:25:05 +00:00
Tim-Philipp Müller
90c1858b20 gst/speed/gstspeed.c: Fix event handling a bit by replacing completely 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-04 17:20:31 +00:00
Tim-Philipp Müller
e6d666c747 gst/speed/gstspeed.c: Add debug category; use gst_pad_query_peer_*() utility 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-04 16:11:46 +00:00
Wim Taymans
25fa19fba6 gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug info.
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-04 12:32:27 +00:00
Zaheer Abbas Merali
b1a2c30401 examples/switch/switcher.c (loop, my_bus_callback, switch_timer, 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-05-03 16:49:05 +00:00
Wim Taymans
5171199836 gst/rtpmanager/async_jitter_queue.c: Fix the case where the buffer underruns 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-30 13:41:30 +00:00
Wim Taymans
f4508d302c gst/rtpmanager/gstrtpsession.c: Remove debug.
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-29 14:46:27 +00:00
Thomas Vander Stichele
2a0c6660cb autogen.sh: Require automake 1.7
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-29 13:53:17 +00:00
Julien Moutte
e78e486da8 ext/theora/theoradec.c: Calculate buffer duration correctly to generate a 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-27 15:33:46 +00:00
Wim Taymans
a468f02d2a gst/rtpmanager/gstrtpsession.c: Move reconsideration code to the rtpsession 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-27 15:09:12 +00:00
Wim Taymans
f778bfb7cb gst/rtpmanager/gstrtpsession.c: Implement forward and reverse reconsideration.
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-25 16:38:03 +00:00
Wim Taymans
bfb8b8fd8d gst/rtpmanager/gstrtpbin.*: Make default jitterbuffer latency configurable.
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-25 15:48:46 +00:00
Wim Taymans
67c69ca0ea gst/rtpmanager/gstrtpjitterbuffer.c: Report NO_PREROLL when going to PAUSED.
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-25 13:19:36 +00:00
Wim Taymans
34534179a2 gst/rtpmanager/gstrtpbin.c: fix for pad name change
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-25 08:30:48 +00:00
Tim-Philipp Müller
203ed49721 Plug some leaks; try to make build bot happy again.
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-24 15:49:18 +00:00
Tim-Philipp Müller
61a68fdaf3 gst/Makefile.am: Fix distcheck, hopefully (rtpmanager is already in GST_PLUGINS_ALL).
Original commit message from CVS:
* gst/Makefile.am:
Fix distcheck, hopefully (rtpmanager is already in GST_PLUGINS_ALL).
2007-04-21 19:39:03 +00:00
Tim-Philipp Müller
adfb741d7c gst/rtpmanager/rtpsession.c: Don't use GLib-2.10 API, we only require GLib 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-21 19:21:49 +00:00
Tim-Philipp Müller
86d6bc0d91 gst/audioresample/gstaudioresample.c: Make more functions static, just because we can.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
Make more functions static, just because we can.
2007-04-21 14:14:24 +00:00
Wim Taymans
72c81a1098 gst/Makefile.am: Add rtpmanager dir to dist.
Original commit message from CVS:
* gst/Makefile.am:
Add rtpmanager dir to dist.
2007-04-18 19:26:52 +00:00
Wim Taymans
1d75a69ccf configure.ac: Disable rtpmanager for now because it depends on CVS -base.
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-18 18:58:53 +00:00
Tim-Philipp Müller
6cbfc31aae gst/app/Makefile.am: Fix CFLAGS and hopefully #430594.
Original commit message from CVS:
* gst/app/Makefile.am:
Fix CFLAGS and hopefully #430594.
2007-04-17 10:56:37 +00:00
Tim-Philipp Müller
640664c243 gst/nsf/types.h: Rename #ifndef header guard symbol to something less 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-17 08:48:34 +00:00
Tim-Philipp Müller
9e13de6621 gst/mve/gstmvedemux.c: Use G_LITTLE_ENDIAN instead of LITTLE_ENDIAN, so 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-17 08:04:43 +00:00
Vincent Torri
97041d869a ext/pango/gstclockoverlay.c: Fix unused variable warning if HAVE_LOCALTIME_R 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-16 22:20:03 +00:00
Wim Taymans
92ef802b85 gst/rtpmanager/: Protect lists and structures with locks.
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-13 09:20:55 +00:00
Wim Taymans
ea885f5afe gst/qtdemux/qtdemux.c: Make timescale 32 bits again so we don't screw up the 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-12 10:52:02 +00:00
Wim Taymans
bf930a161f gst/rtpmanager/gstrtpbin.c: Emit pt map requests and cache results.
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-12 08:18:32 +00:00
Wim Taymans
4f4bb657d6 gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers.
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-11 13:49:54 +00:00
Wim Taymans
54260af4c9 gst/qtdemux/: Handle version 1 mdhd atoms to get extended precision durations.
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-11 09:53:38 +00:00
Wim Taymans
8db0d2bcab gst/rtpmanager/: Added custom marshallers for signals.
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-10 09:14:07 +00:00
Wim Taymans
9894c6ad51 gst/rtpmanager/gstrtpbin.*: Provide a clock.
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-06 12:28:29 +00:00
Wim Taymans
a52a704426 gst/rtpmanager/gstrtpbin.c: Fix pad template name parsing.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_rtcp):
Fix pad template name parsing.
2007-04-06 12:07:30 +00:00
Wim Taymans
8fd61b0804 gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug and comments.
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-05 16:10:24 +00:00
Wim Taymans
32c1c29d68 gst/qtdemux/gstrtpxqtdepay.*: Try to recover from packet loss a little better.
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-05 15:05:24 +00:00
Wim Taymans
b1e2b08879 gst/rtpmanager/gstrtpbin.*: Add debugging category.
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-05 13:54:23 +00:00
Wim Taymans
12192a5fac gst/rtpmanager/: Added simple SSRC demuxer.
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-04 10:23:15 +00:00
Wim Taymans
909a0e3339 gst/rtpmanager/: Some more ghostpad magic.
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-03 11:35:39 +00:00
Wim Taymans
d99773bc39 gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly.
Original commit message from CVS:
* gst/rtpmanager/Makefile.am:
Add .h file so it can be disted properly.
2007-04-03 09:51:13 +00:00
Wim Taymans
93b433bd16 Add RTP session management elements. Still in progress.
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-04-03 09:13:17 +00:00
Edward Hervey
365437cbc0 gst/qtdemux/: Process 'ctts' atoms, which are present in AVC ISO files (.mov 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-28 15:17:27 +00:00
Tim-Philipp Müller
d0b8c40cec gst/interleave/deinterleave.c: Remove 'channel-positions' field when munging 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-24 19:46:59 +00:00
Michael Smith
628d19135f gst/vmnc/vmncdec.c: Redesign to include a parser for raw files (no 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).
2007-03-23 18:41:52 +00:00
Tim-Philipp Müller
63881aeec0 gst/interleave/deinterleave.c: Don't leak input buffer in chain function; maintain our own list of source pads - ther...
Original commit message from CVS:
* gst/interleave/deinterleave.c: (gst_deinterleave_add_new_pads),
(gst_deinterleave_remove_pads), (gst_deinterleave_process),
(gst_deinterleave_chain):
Don't leak input buffer in chain function; maintain our own list of
source pads - there are no guarantees about the order of the list
in the GstElement struct, and we want a very specific order; lastly,
some more debugging.
2007-03-22 22:14:29 +00:00
Jan Schmidt
1ff2df1d5f gst/mpegvideoparse/: Move the MPEG specific byte parsing into the mpegpacketiser code.
Original commit message from CVS:
* gst/mpegvideoparse/mpegpacketiser.c: (mpeg_util_find_start_code),
(collect_packets), (set_par_from_dar), (set_fps_from_code),
(mpeg_util_parse_extension_packet), (mpeg_util_parse_sequence_hdr),
(mpeg_util_parse_picture_hdr):
* gst/mpegvideoparse/mpegpacketiser.h:
* gst/mpegvideoparse/mpegvideoparse.c:
(mpegvideoparse_handle_sequence), (mpegvideoparse_handle_picture),
(mpegvideoparse_drain_avail), (gst_mpegvideoparse_chain),
(mpv_parse_sink_event), (plugin_init):
* gst/mpegvideoparse/mpegvideoparse.h:
Move the MPEG specific byte parsing into the mpegpacketiser code.
Add parsing of picture types, that just feeds into a debug message
for now.
Fix some 64-bit format strings.
2007-03-16 11:22:47 +00:00
Stefan Kost
b883c42b46 gst/equalizer/gstiirequalizer10bands.c: A 10 band EQ should be initialized to 1 bands and not to 3.
Original commit message from CVS:
* gst/equalizer/gstiirequalizer10bands.c:
(gst_iir_equalizer_10bands_init):
A 10 band EQ should be initialized to 1 bands and not to 3.
2007-03-16 09:57:40 +00:00
Jan Schmidt
1f7755917a Port mpeg1videoparse to 0.10 and give it rank SECONDARY-1, so that it's below existing decoders.
Original commit message from CVS:
* configure.ac:
* gst/mpeg1videoparse/Makefile.am:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg1videoparse/gstmp1videoparse.h:
* gst/mpeg1videoparse/mp1videoparse.vcproj:
* gst/mpegvideoparse/Makefile.am:
* gst/mpegvideoparse/mpegpacketiser.c: (mpeg_packetiser_init),
(mpeg_packetiser_free), (mpeg_packetiser_add_buf),
(mpeg_packetiser_flush), (mpeg_find_start_code),
(get_next_free_block), (complete_current_block),
(append_to_current_block), (start_new_block), (handle_packet),
(collect_packets), (mpeg_packetiser_handle_eos),
(mpeg_packetiser_get_block), (mpeg_packetiser_next_block):
* gst/mpegvideoparse/mpegpacketiser.h:
* gst/mpegvideoparse/mpegvideoparse.c: (mpegvideoparse_get_type),
(gst_mpegvideoparse_base_init), (gst_mpegvideoparse_class_init),
(mpv_parse_reset), (gst_mpegvideoparse_init),
(gst_mpegvideoparse_dispose), (set_par_from_dar),
(set_fps_from_code), (mpegvideoparse_parse_seq),
(gst_mpegvideoparse_time_code), (gst_mpegvideoparse_flush),
(mpegvideoparse_drain_avail), (gst_mpegvideoparse_chain),
(mpv_parse_sink_event), (gst_mpegvideoparse_change_state),
(plugin_init):
* gst/mpegvideoparse/mpegvideoparse.h:
* gst/mpegvideoparse/mpegvideoparse.vcproj:
Port mpeg1videoparse to 0.10 and give it rank SECONDARY-1, so
that it's below existing decoders.
Rename it to mpegvideoparse to reflect that it handles MPEG-1 and
MPEG-2 now.
Re-write the parsing code so that it collects packets differently
and timestamps Picture packets correctly.
Add a list of FIXME's at the top.
2007-03-15 20:48:08 +00:00
Michael Smith
03ab530205 gst/audioresample/gstaudioresample.c: Don't trigger discontinuities for very small imperfections; a filter flush will...
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
(audioresample_check_discont), (audioresample_transform):
Don't trigger discontinuities for very small imperfections; a filter
flush will sound bad, and many plugins have rounding errors leading
to these.
2007-03-15 10:52:21 +00:00
Julien Moutte
e3ef9cd15d gst/audioresample/gstaudioresample.c: Handle discontinuous streams.
Original commit message from CVS:
2007-03-14  Julien MOUTTE  <julien@moutte.net>

* gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
(audioresample_transform_size), (audioresample_do_output),
(audioresample_transform), (audioresample_pushthrough): Handle
discontinuous streams.
* gst/audioresample/gstaudioresample.h:
* tests/check/elements/audioresample.c:
(test_discont_stream_instance), (GST_START_TEST),
(audioresample_suite): Add a test for discontinuous streams.
* win32/common/config.h: Updated.
2007-03-14 17:16:30 +00:00
Thomas Vander Stichele
dddcbbc3e0 gst/audioresample/: Since I really am not interested in a debug line for each sample being processed, move the librar...
Original commit message from CVS:
* gst/audioresample/debug.h:
* gst/audioresample/resample.c: (resample_init):
Since I really am not interested in a debug line for each sample
being processed, move the library's debugging to its own category,
libaudioresample
2007-03-14 14:48:12 +00:00