platform/upstream/gstreamer.git
15 years agortpsouce: the network address is in network order
Wim Taymans [Wed, 27 May 2009 09:03:14 +0000 (11:03 +0200)]
rtpsouce: the network address is in network order

Bring the network address in netowkr byte order to the host order.

15 years agortpsource: byteswap the port from GstNetAddress
Wim Taymans [Tue, 26 May 2009 13:40:52 +0000 (15:40 +0200)]
rtpsource: byteswap the port from GstNetAddress

Since the port in GstNetAddress is in network order we might need to byteswap it
before adding it to the source statistics.

15 years agortpbin: remove ptdemux ghostpads
Wim Taymans [Mon, 25 May 2009 11:46:29 +0000 (13:46 +0200)]
rtpbin: remove ptdemux ghostpads

15 years agotests: add receive rtpbin unit test
Wim Taymans [Mon, 25 May 2009 11:33:20 +0000 (13:33 +0200)]
tests: add receive rtpbin unit test

15 years agortpbin: add to new signal to remove SSRC pads
Wim Taymans [Fri, 22 May 2009 14:41:19 +0000 (16:41 +0200)]
rtpbin: add to new signal to remove SSRC pads

15 years agossrcdemux: emit signal when pads are removed
Ali Sabil [Fri, 22 May 2009 14:35:20 +0000 (16:35 +0200)]
ssrcdemux: emit signal when pads are removed

Add action signal to clear an SSRC in the ssrc demuxer.
Add signal to notify of removed ssrc.

See #554839

15 years agortpbin: use our ghostpads instead of its target
Wim Taymans [Fri, 22 May 2009 13:45:19 +0000 (15:45 +0200)]
rtpbin: use our ghostpads instead of its target

Since we keep a reference to our ghostpads, we can use them to track sessions.
This avoid us having to mess with the target of the ghostpad.

15 years agotests: more rtpbin checks
Wim Taymans [Fri, 22 May 2009 13:37:29 +0000 (15:37 +0200)]
tests: more rtpbin checks

15 years agortpbin: don't warn when getting request pads twice
Wim Taymans [Fri, 22 May 2009 13:36:17 +0000 (15:36 +0200)]
rtpbin: don't warn when getting request pads twice

Allow getting the request pads multiple times, just return the previously
created pads.

15 years agortpsource: add RTP and RTCP source address
Wim Taymans [Fri, 22 May 2009 11:47:30 +0000 (13:47 +0200)]
rtpsource: add RTP and RTCP source address

Add the RTP and RTCP sender addresses in the stats structure.

15 years agortpsession: reuse source code for SDES
Wim Taymans [Fri, 22 May 2009 11:45:15 +0000 (13:45 +0200)]
rtpsession: reuse source code for SDES

Reuse the RTPSource object property instead of duplicating code.

15 years agotests: add more rtpbin tests
Wim Taymans [Fri, 22 May 2009 11:44:17 +0000 (13:44 +0200)]
tests: add more rtpbin tests

15 years agotests: add rtpbin unit test
Wim Taymans [Fri, 22 May 2009 10:23:27 +0000 (12:23 +0200)]
tests: add rtpbin unit test

Add the beginnings of an rtpbin unit test
Add some more stuff to .gitignore

15 years agortpbin: set target state on new elements
Wim Taymans [Fri, 22 May 2009 10:20:13 +0000 (12:20 +0200)]
rtpbin: set target state on new elements

Set the state on newly added elements to the state of the parent.
Add some debug info and do some cleanups

15 years agortpbin: unref requests pads after releasing
Wim Taymans [Fri, 22 May 2009 09:59:17 +0000 (11:59 +0200)]
rtpbin: unref requests pads after releasing

15 years agortpbin: Implement releasing the streams
Olivier Crête [Thu, 21 May 2009 23:43:50 +0000 (01:43 +0200)]
rtpbin: Implement releasing the streams

See #561752

15 years agortpbin: Keep jb signals handler
Olivier Crête [Thu, 21 May 2009 23:16:11 +0000 (01:16 +0200)]
rtpbin: Keep jb signals handler

Keep the signal handlers so they can be disconnected at release time

See #561752

15 years agortpbin: use the right lock for the sessions
Wim Taymans [Thu, 21 May 2009 23:12:57 +0000 (01:12 +0200)]
rtpbin: use the right lock for the sessions

Use the right lock when iterating the sessions.

15 years agortpbin: Free session if request pads are released
Olivier Crête [Thu, 21 May 2009 23:03:55 +0000 (01:03 +0200)]
rtpbin: Free session if request pads are released

Free the session when all the request pads are released.
Don't mess with the session list in free_session as it is called from a foreach
on that list.
Set the state of the upstream element to NULL first.

See #561752

15 years agortpbin: Implement relasing of the rtp recv pad
Olivier Crête [Thu, 21 May 2009 22:51:53 +0000 (00:51 +0200)]
rtpbin: Implement relasing of the rtp recv pad

15 years agortpbin: Implement releasing of rtp send pads
Olivier Crête [Thu, 21 May 2009 22:44:51 +0000 (00:44 +0200)]
rtpbin: Implement releasing of rtp send pads

15 years agortpbin: Implement release of the recv rtcp pad
Olivier Crête [Thu, 21 May 2009 22:34:36 +0000 (00:34 +0200)]
rtpbin: Implement release of the recv rtcp pad

See #561752

15 years agortpbin: Implement releasing of rtcp src pad
Olivier Crête [Thu, 21 May 2009 22:16:19 +0000 (00:16 +0200)]
rtpbin: Implement releasing of rtcp src pad

See #561752

15 years agortpssrcdemux: drop unexpected RTCP packets
Wim Taymans [Tue, 5 May 2009 14:48:37 +0000 (16:48 +0200)]
rtpssrcdemux: drop unexpected RTCP packets

We usually only get SR packets in our chain function but if an invalid packet
contains the SR packet after the RR packet, we must not fail but simply ignore
the malformed packet.

Fixes #581375

15 years agortpsouce: make WARNING into LOG
Olivier Crete [Mon, 27 Apr 2009 09:09:08 +0000 (11:09 +0200)]
rtpsouce: make WARNING into LOG

Since neither rtpmanager nor any of the payloaders properly implement
pad allocation, there is no way for the rtpmanager to inform downstream elements
of the new SSRC if there is an SSRC collision. So the warning is emitted all the
time and it is confusing.

Fixes #580144

15 years agortpsession: notify when SSRC changes
Olivier Crete [Mon, 27 Apr 2009 09:06:01 +0000 (11:06 +0200)]
rtpsession: notify when SSRC changes

Emit a g_object_notify when the SSRc changes because of a collision.
Fixes #580144

15 years agortpsession: join the RTCP thread
Wim Taymans [Fri, 17 Apr 2009 14:16:29 +0000 (16:16 +0200)]
rtpsession: join the RTCP thread

Avoid a case where a joinable thread would be left unjoined, which leaked the
thread structure.
Fixes #577318.

15 years agojitterbuffer: prevent overflow in EOS estimation
Wim Taymans [Wed, 15 Apr 2009 16:14:48 +0000 (18:14 +0200)]
jitterbuffer: prevent overflow in EOS estimation

Use a guint64 instead of a guint to hold a 64bit value to prevent completely
bogues EOS estimation values due to overflows.

15 years agortpbin: we should not provide a clock
Wim Taymans [Wed, 15 Apr 2009 15:44:17 +0000 (17:44 +0200)]
rtpbin: we should not provide a clock

There is no need to provide a clock.

15 years agojitterbuffer: more estimated EOS fixes
Wim Taymans [Wed, 15 Apr 2009 15:28:56 +0000 (17:28 +0200)]
jitterbuffer: more estimated EOS fixes

Do more accurate EOS estimate and guard against backward timestamps.

15 years agojitterbuffer: release lock before pushing EOS
Wim Taymans [Wed, 15 Apr 2009 15:25:02 +0000 (17:25 +0200)]
jitterbuffer: release lock before pushing EOS

Make sure we release the jitterbuffer lock before we start pushing out data
because else we might deadlock.

15 years agortpbin: add on_npt_stop signal
Wim Taymans [Fri, 27 Mar 2009 16:44:57 +0000 (17:44 +0100)]
rtpbin: add on_npt_stop signal

Add the on_npt_stop signal to rtpbin and rtpjitterbuffer to notify the
application that the NPT stop position has been reached.

15 years agortpbin: don't return FALSE on seek events
Wim Taymans [Fri, 13 Mar 2009 14:59:37 +0000 (15:59 +0100)]
rtpbin: don't return FALSE on seek events

Silently ignore the seek event instead of returning FALSE.

15 years agogstrtpbin: Don't forward revc events to sender
Olivier Crête [Thu, 26 Feb 2009 12:10:29 +0000 (13:10 +0100)]
gstrtpbin: Don't forward revc events to sender

Don't send events from the receiver to the sender side.
Fixes #572900.

15 years agodocs: various doc fixes
Stefan Kost [Wed, 25 Feb 2009 09:45:05 +0000 (11:45 +0200)]
docs: various doc fixes

No short-desc as we have them in the element details.
Also keep things (Makefile.am and sections.txt) sorted.
Reword ambigous returns. No text after since please.

15 years agoSend BYE packets immediatly for small sessions
Wim Taymans [Fri, 23 Jan 2009 11:13:00 +0000 (12:13 +0100)]
Send BYE packets immediatly for small sessions

When the number of participants is less than 50, the RFC allows for sending the
BYE packet immediatly instead of using the regular BYE timeout.
Fixes #567828.

15 years agoUnlock the jitterbuffer before pushing out the packet-lost events.
Wim Taymans [Thu, 22 Jan 2009 12:33:14 +0000 (13:33 +0100)]
Unlock the jitterbuffer before pushing out the packet-lost events.
Move some code before we do the unlock to make the jitterbuffer state
consistent while we are unlocked.

15 years agogst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use this as...
Olivier Crete [Fri, 2 Jan 2009 17:40:06 +0000 (17:40 +0000)]
gst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use this as the internal SSRC. Fixes #565910.

Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_setcaps_send_rtp), (create_send_rtp_sink):
* gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc):
When an SSRC is found on the caps of the sender RTP, use this as the
internal SSRC. Fixes #565910.

15 years agogst/rtpmanager/: Rename a method to better reflect what it really does.
Wim Taymans [Fri, 2 Jan 2009 16:50:53 +0000 (16:50 +0000)]
gst/rtpmanager/: Rename a method to better reflect what it really does.

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_getcaps_send_rtp):
* gst/rtpmanager/rtpsession.c: (check_collision),
(rtp_session_schedule_bye_locked), (rtp_session_schedule_bye):
* gst/rtpmanager/rtpsession.h:
Rename a method to better reflect what it really does.

15 years agogst/rtpmanager/gstrtpsession.c: Use method to get the internal SSRC.
Wim Taymans [Mon, 29 Dec 2008 15:49:37 +0000 (15:49 +0000)]
gst/rtpmanager/gstrtpsession.c: Use method to get the internal SSRC.

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_getcaps_send_rtp):
Use method to get the internal SSRC.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_set_property), (rtp_session_get_property):
Add property to congiure the internal SSRC of the session.
Fixes #565910.

15 years agogst/rtpmanager/rtpsession.c: Only change the SSRC of the session and reset the intern...
Wim Taymans [Mon, 29 Dec 2008 15:21:58 +0000 (15:21 +0000)]
gst/rtpmanager/rtpsession.c: Only change the SSRC of the session and reset the internal source when the SSRC actually...

Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc):
Only change the SSRC of the session and reset the internal source when
the SSRC actually changed. See #565910.

15 years agogst/rtpmanager/rtpsource.*: When no payload was specified on the caps but there was...
Wim Taymans [Mon, 29 Dec 2008 14:21:47 +0000 (14:21 +0000)]
gst/rtpmanager/rtpsource.*: When no payload was specified on the caps but there was a clock-rate, assume the clock-ra...

Original commit message from CVS:
* gst/rtpmanager/rtpsource.c: (rtp_source_init),
(rtp_source_update_caps), (get_clock_rate):
* gst/rtpmanager/rtpsource.h:
When no payload was specified on the caps but there was a clock-rate,
assume the clock-rate corresponds to the first payload type found in the
RTP packets. Fixes #565509.

15 years agogst/rtpmanager/rtpjitterbuffer.*: Keep track of the last outgoing timestamp and of...
Arnout Vandecappelle [Tue, 23 Dec 2008 11:39:59 +0000 (11:39 +0000)]
gst/rtpmanager/rtpjitterbuffer.*: Keep track of the last outgoing timestamp and of the last sender-side time.  Timest...

Original commit message from CVS:
Patch by: Arnout Vandecappelle <arnout at mind dot be>
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew),
(calculate_skew):
* gst/rtpmanager/rtpjitterbuffer.h:
Keep track of the last outgoing timestamp and of the last sender-side
time.  Timestamps can only go forward if they do at the sender
side, can only go back if they do at the sender side, and remain the
same if they remain the same at the sender side. Fixes #565319.

15 years agogst/rtpmanager/rtpsession.c: Make obtain_source return an aditional ref so that we...
Wim Taymans [Wed, 26 Nov 2008 12:40:18 +0000 (12:40 +0000)]
gst/rtpmanager/rtpsession.c: Make obtain_source return an aditional ref so that we don't lose our ref to it when a se...

Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (obtain_source),
(rtp_session_create_source), (rtp_session_process_rtp),
(rtp_session_process_sr), (rtp_session_process_rr),
(rtp_session_process_sdes), (rtp_session_process_bye):
Make obtain_source return an aditional ref so that we don't lose our ref
to it when a session cleanup occurs when we are emiting a signal.
Emit the on_new_ssrc signal for the CSRC, not the SSRC.
Fixes #562319.

15 years agogst/rtpmanager/gstrtpbin.c: Reset the sync parameters when clearing the payload type...
Wim Taymans [Wed, 26 Nov 2008 12:02:21 +0000 (12:02 +0000)]
gst/rtpmanager/gstrtpbin.c: Reset the sync parameters when clearing the payload type map too.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_reset_sync),
(gst_rtp_bin_clear_pt_map):
Reset the sync parameters when clearing the payload type map too.
Fixes #562312.

15 years agogst/rtpmanager/gstrtpbin.*: Remove a lot of per stream state that is not needed and...
Wim Taymans [Wed, 26 Nov 2008 11:44:37 +0000 (11:44 +0000)]
gst/rtpmanager/gstrtpbin.*: Remove a lot of per stream state that is not needed and pass new info in the method call.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (get_client),
(gst_rtp_bin_reset_sync), (gst_rtp_bin_associate),
(gst_rtp_bin_handle_sync), (create_stream),
(gst_rtp_bin_class_init), (new_ssrc_pad_found):
* gst/rtpmanager/gstrtpbin.h:
Remove a lot of per stream state that is not needed and pass new info in
the method call.
Add signal to reset sync parameters.
Avoid parsing the caps to get a clock_base, we get this from the sync
signal now.

15 years agogst/rtpmanager/gstrtpsession.c: Fix event leak.
Wim Taymans [Tue, 25 Nov 2008 15:12:06 +0000 (15:12 +0000)]
gst/rtpmanager/gstrtpsession.c: Fix event leak.

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_event_send_rtcp_src):
Fix event leak.

15 years agogst/rtpmanager/rtpsession.c: Add property to configure the RTCP MTU.
Wim Taymans [Sat, 22 Nov 2008 15:31:36 +0000 (15:31 +0000)]
gst/rtpmanager/rtpsession.c: Add property to configure the RTCP MTU.

Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_init), (rtp_session_set_property),
(rtp_session_get_property):
Add property to configure the RTCP MTU.

15 years agogst/rtpmanager/rtpsession.c: Add G_PARAM_STATIC_STRINGS.
Wim Taymans [Sat, 22 Nov 2008 15:24:47 +0000 (15:24 +0000)]
gst/rtpmanager/rtpsession.c: Add G_PARAM_STATIC_STRINGS.

Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(copy_source), (rtp_session_create_sources),
(rtp_session_get_property):
Add G_PARAM_STATIC_STRINGS.
Add property to return a GValueArray of all known RTPSources in the
session.
* gst/rtpmanager/rtpsource.c: (rtp_source_class_init),
(rtp_source_create_sdes), (rtp_source_set_property),
(rtp_source_get_property):
Remove properties to set the various SDES items, an application is never
supposed to change the RTPSource data.
Change the SDES getter properties to one SDES property that returns all
SDES items in a GstStructure.

15 years agogst/rtpmanager/gstrtpbin.c: Also unref the target pad for unknown pads.
Wim Taymans [Sat, 22 Nov 2008 13:17:24 +0000 (13:17 +0000)]
gst/rtpmanager/gstrtpbin.c: Also unref the target pad for unknown pads.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad):
Also unref the target pad for unknown pads.

15 years agogst/rtpmanager/gstrtpbin.c: Release the right pads on rtpbin. Fixes #561752.
Olivier Crete [Fri, 21 Nov 2008 16:17:22 +0000 (16:17 +0000)]
gst/rtpmanager/gstrtpbin.c: Release the right pads on rtpbin. Fixes #561752.

Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad):
Release the right pads on rtpbin. Fixes #561752.

15 years agogst/rtpmanager/gstrtpsession.c: Pass the running time to the session when processing...
Wim Taymans [Thu, 20 Nov 2008 18:41:34 +0000 (18:41 +0000)]
gst/rtpmanager/gstrtpsession.c: Pass the running time to the session when processing RTP packets.

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (get_current_times),
(rtcp_thread), (gst_rtp_session_chain_recv_rtp):
Pass the running time to the session when processing RTP packets.
Improve the time function to provide more info.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_init), (update_arrival_stats),
(rtp_session_process_rtp), (rtp_session_process_sdes),
(rtp_session_process_rtcp), (session_start_rtcp),
(rtp_session_on_timeout):
* gst/rtpmanager/rtpsession.h:
Mark the internal source with a flag.
Use running_time instead of the more useless timestamp.
Validate a source when a valid SDES has been received.
Pass the current system time when processing SR packets.
* gst/rtpmanager/rtpsource.c: (rtp_source_class_init),
(rtp_source_init), (rtp_source_create_stats),
(rtp_source_get_property), (rtp_source_send_rtp),
(rtp_source_process_rb), (rtp_source_get_new_rb),
(rtp_source_get_last_rb):
* gst/rtpmanager/rtpsource.h:
Add property to get source stats.
Mark params as STATIC_STRINGS.
Calculate the bitrate at the sender SSRC.
Avoid negative values in the round trip time calculations.
* gst/rtpmanager/rtpstats.h:
Update some docs and change some variable name to more closely reflect
what it contains.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Initialize return value to fix compiler warning...
Sebastian Dröge [Thu, 20 Nov 2008 08:19:15 +0000 (08:19 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Initialize return value to fix compiler warning about uninitialized variable.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain_rtcp):
Initialize return value to fix compiler warning about uninitialized
variable.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Mark signal arg as static scope.
Wim Taymans [Wed, 19 Nov 2008 16:48:38 +0000 (16:48 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Mark signal arg as static scope.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init):
Mark signal arg as static scope.

15 years agogst/rtpmanager/gstrtpbin.c: Remove internal sync pad, use signals instead to get...
Wim Taymans [Wed, 19 Nov 2008 09:06:29 +0000 (09:06 +0000)]
gst/rtpmanager/gstrtpbin.c: Remove internal sync pad, use signals instead to get lip-sync notifications.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate),
(gst_rtp_bin_handle_sync), (create_stream), (free_stream),
(new_ssrc_pad_found):
Remove internal sync pad, use signals instead to get lip-sync
notifications.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_base_init),
(gst_rtp_jitter_buffer_class_init),
(gst_rtp_jitter_buffer_internal_links), (create_rtcp_sink),
(remove_rtcp_sink), (gst_rtp_jitter_buffer_request_new_pad),
(gst_rtp_jitter_buffer_release_pad),
(gst_rtp_jitter_buffer_sink_rtcp_event),
(gst_rtp_jitter_buffer_chain_rtcp),
(gst_rtp_jitter_buffer_get_property):
* gst/rtpmanager/gstrtpjitterbuffer.h:
Make it possible to send SR packets to the jitterbuffer.
Check if the SR timestamps are valid by comparing them to the RTP
timestamps.
Signal the SR packet and the timing information to listeners.
* gst/rtpmanager/gstrtpssrcdemux.c: (create_demux_pad_for_ssrc),
(gst_rtp_ssrc_demux_rtcp_chain), (gst_rtp_ssrc_demux_src_query):
Remove some unused code.
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew),
(calculate_skew), (rtp_jitter_buffer_get_sync):
* gst/rtpmanager/rtpjitterbuffer.h:
Keep track of the last seen RTP timestamp so that we can filter out
invalid SR packets.

15 years agogst/rtpmanager/rtpsource.c: Fix GST_DEBUG call to only have as many arguments as...
Sebastian Dröge [Mon, 17 Nov 2008 19:47:32 +0000 (19:47 +0000)]
gst/rtpmanager/rtpsource.c: Fix GST_DEBUG call to only have as many arguments as required by the format string. Fixes...

Original commit message from CVS:
* gst/rtpmanager/rtpsource.c: (get_clock_rate):
Fix GST_DEBUG call to only have as many arguments as required
by the format string. Fixes a compiler warning.

15 years agogst/rtpmanager/gstrtpbin.c: Do not try to keep track of the clock-rate ourselves...
Wim Taymans [Mon, 17 Nov 2008 15:17:52 +0000 (15:17 +0000)]
gst/rtpmanager/gstrtpbin.c: Do not try to keep track of the clock-rate ourselves but simply get the value from the ji...

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate),
(gst_rtp_bin_sync_chain), (create_stream), (new_ssrc_pad_found):
Do not try to keep track of the clock-rate ourselves but simply get the
value from the jitterbuffer.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_get_sync):
* gst/rtpmanager/gstrtpjitterbuffer.h:
Add some debug info.
Pass the clock-rate to the jitterbuffer.
Also pass the clock-rate along with the rtp timestamp when getting the
sync parameters.
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain):
Fix some debug.
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew),
(calculate_skew), (rtp_jitter_buffer_get_sync):
* gst/rtpmanager/rtpjitterbuffer.h:
Keep track of clock-rate changes and return the clock-rate together with
the rtp timestamps used for sync.
Don't try to construct timestamps when we have no base_time.
* gst/rtpmanager/rtpsource.c: (get_clock_rate):
Request a new clock-rate when the payload type changes.
Reset the jitter calculation when the clock-rate changes.

15 years agogst/rtpmanager/: Small cleanups and some more debug info.
Wim Taymans [Thu, 13 Nov 2008 15:48:54 +0000 (15:48 +0000)]
gst/rtpmanager/: Small cleanups and some more debug info.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps),
(gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_chain):
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew),
(calculate_skew):
Small cleanups and some more debug info.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Also configure the next expected output seqnum...
Wim Taymans [Mon, 10 Nov 2008 15:26:40 +0000 (15:26 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Also configure the next expected output seqnum when we get a seqnum-base on the ...

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain):
Also configure the next expected output seqnum when we get a seqnum-base
on the caps.

15 years agoDon't install static libs for plugins. Fixes #550851 for -bad.
Stefan Kost [Tue, 4 Nov 2008 12:42:30 +0000 (12:42 +0000)]
Don't install static libs for plugins. Fixes #550851 for -bad.

Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Fix problem with using the output seqnum counter...
Wim Taymans [Thu, 16 Oct 2008 13:05:37 +0000 (13:05 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Fix problem with using the output seqnum counter to check for input seqnum disco...

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps),
(gst_rtp_jitter_buffer_flush_start),
(gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_loop):
Fix problem with using the output seqnum counter to check for input
seqnum discontinuities.
Improve gap detection and recovery, reset and flush the jitterbuffer on
seqnum restart. Fixes #556520.
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_insert):
Fix wrong G_LIKELY.

15 years agogst/rtpmanager/gstrtpsession.c: Install event handler on the rtcp_src pad, make LATEN...
Wim Taymans [Thu, 16 Oct 2008 09:51:28 +0000 (09:51 +0000)]
gst/rtpmanager/gstrtpsession.c: Install event handler on the rtcp_src pad, make LATENCY event return

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_event_send_rtcp_src), (create_send_rtcp_src):
Install event handler on the rtcp_src pad, make LATENCY event return
TRUE.

15 years agogst/rtpmanager/gstrtpbin-marshal.list: Add marshaller for new action signal.
Håvard Graff [Tue, 7 Oct 2008 18:54:41 +0000 (18:54 +0000)]
gst/rtpmanager/gstrtpbin-marshal.list: Add marshaller for new action signal.

Original commit message from CVS:
Patch by: Håvard Graff <havard dot graff at tandberg dot com>
* gst/rtpmanager/gstrtpbin-marshal.list:
Add marshaller for new action signal.
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_get_internal_session),
(gst_rtp_bin_class_init):
* gst/rtpmanager/gstrtpbin.h:
Add action signal to retrieve the internal RTPSession object.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_get_property), (gst_rtp_session_release_pad):
Add property to access the internal RTPSession object.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(check_collision):
* gst/rtpmanager/rtpsession.h:
Add action signal to retrieve an RTPSource object by SSRC.
See #555396.

15 years agogst/rtpmanager/gstrtpbin.c: Release pads of the session manager.
Wim Taymans [Tue, 7 Oct 2008 11:33:10 +0000 (11:33 +0000)]
gst/rtpmanager/gstrtpbin.c: Release pads of the session manager.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (find_session_by_pad),
(free_session), (gst_rtp_bin_dispose), (remove_recv_rtp),
(remove_recv_rtcp), (remove_send_rtp), (remove_rtcp),
(gst_rtp_bin_release_pad):
Release pads of the session manager.
Start implementing releasing pads of gstrtpbin.
* gst/rtpmanager/gstrtpsession.c: (remove_recv_rtp_sink),
(remove_recv_rtcp_sink), (remove_send_rtp_sink),
(remove_send_rtcp_src), (gst_rtp_session_release_pad):
Implement releasing pads in gstrtpsession.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Only update the seqnum-base when it was not...
Wim Taymans [Tue, 7 Oct 2008 10:02:20 +0000 (10:02 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Only update the seqnum-base when it was not already configured for the streams.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_parse_caps):
Only update the seqnum-base when it was not already configured for the
streams.

15 years agogst/rtpmanager/rtpsession.c: Ref the rtpsource object before we release the session...
Wim Taymans [Tue, 30 Sep 2008 15:08:52 +0000 (15:08 +0000)]
gst/rtpmanager/rtpsession.c: Ref the rtpsource object before we release the session lock when we emit the signals.

Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (on_new_ssrc), (on_ssrc_collision),
(on_ssrc_validated), (on_ssrc_active), (on_ssrc_sdes),
(on_bye_ssrc), (on_bye_timeout), (on_timeout), (on_sender_timeout):
Ref the rtpsource object before we release the session lock when we emit
the signals.

15 years agogst/rtpmanager/: Fix some docs.
Wim Taymans [Tue, 23 Sep 2008 18:13:31 +0000 (18:13 +0000)]
gst/rtpmanager/: Fix some docs.

Original commit message from CVS:
* gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_insert),
(rtp_jitter_buffer_get_sync):
* gst/rtpmanager/rtpsession.c: (on_sender_timeout),
(session_cleanup):
* gst/rtpmanager/rtpsource.c:
Fix some docs.

15 years agoFix compiler warnings on OS/X
Jan Schmidt [Wed, 17 Sep 2008 13:59:21 +0000 (13:59 +0000)]
Fix compiler warnings on OS/X

Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (jack_process_cb):
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew):
Fix compiler warnings on OS/X

15 years agogst/rtpmanager/gstrtpbin.c: Do not try to adjust the offset of streams for which...
Wim Taymans [Sat, 13 Sep 2008 01:37:50 +0000 (01:37 +0000)]
gst/rtpmanager/gstrtpbin.c: Do not try to adjust the offset of streams for which we have not yet seen an SR packet. A...

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session),
(gst_rtp_bin_associate), (gst_rtp_bin_sync_chain):
Do not try to adjust the offset of streams for which we have not yet
seen an SR packet. Avoids large ts-offsets in some cases.

15 years agogst/rtpmanager/gstrtpbin.*: Add signal to notify listeners when a sender becomes...
Wim Taymans [Fri, 5 Sep 2008 13:52:34 +0000 (13:52 +0000)]
gst/rtpmanager/gstrtpbin.*: Add signal to notify listeners when a sender 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.

15 years agogst/rtpmanager/gstrtpsession.c: Send EOS when the session object instructs us to.
Wim Taymans [Thu, 28 Aug 2008 15:21:45 +0000 (15:21 +0000)]
gst/rtpmanager/gstrtpsession.c: Send EOS when the session object instructs 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.

15 years agogst/rtpmanager/gstrtpbin.c: Reset rtp timestamp interpollation when we detect a gap...
Wim Taymans [Wed, 13 Aug 2008 14:31:02 +0000 (14:31 +0000)]
gst/rtpmanager/gstrtpbin.c: Reset rtp timestamp interpollation when we 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.

15 years agogst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log.
Stefan Kost [Mon, 11 Aug 2008 07:20:15 +0000 (07:20 +0000)]
gst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log.

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?

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Make the buffer metadata writable before inserti...
Olivier Crete [Tue, 5 Aug 2008 09:42:53 +0000 (09:42 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Make the buffer metadata writable 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.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Fix debug by logging the right seqnum.
Håvard Graff [Tue, 5 Aug 2008 09:00:50 +0000 (09:00 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Fix debug by logging the right seqnum.

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.

15 years agogst/rtpmanager/gstrtpbin.c: Release lock before emitting the request-pt-map signal.
Olivier Crete [Tue, 5 Aug 2008 08:58:27 +0000 (08:58 +0000)]
gst/rtpmanager/gstrtpbin.c: Release lock before emitting the request-pt-map 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.

15 years agogst/rtpmanager/: Corrected a typo (interpollate -> interpolate).
Peter Kjellerstedt [Thu, 3 Jul 2008 14:44:51 +0000 (14:44 +0000)]
gst/rtpmanager/: Corrected a typo (interpollate -> interpolate).

Original commit message from CVS:
* ChangeLog:
* gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop):
* gst/rtpmanager/rtpsource.c: (rtp_source_get_new_sr):
Corrected a typo (interpollate -> interpolate).

15 years agogst/rtpmanager/: Changed some GST_DEBUG() to GST_LOG() to reduce the spam when a...
Peter Kjellerstedt [Thu, 3 Jul 2008 14:31:10 +0000 (14:31 +0000)]
gst/rtpmanager/: Changed some GST_DEBUG() to GST_LOG() to reduce the spam when a pipeline is running normally.

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp),
(gst_rtp_session_send_rtp), (gst_rtp_session_send_rtcp),
(gst_rtp_session_sync_rtcp), (gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_chain_send_rtp):
* gst/rtpmanager/rtpsession.c: (source_push_rtp),
(rtp_session_send_rtp):
* gst/rtpmanager/rtpsource.c: (push_packet), (calculate_jitter),
(rtp_source_process_rtp), (rtp_source_send_rtp):
Changed some GST_DEBUG() to GST_LOG() to reduce the spam when a
pipeline is running normally.

15 years agogst/rtpmanager/: Do not mix the use of g_get_current_time() with gst_clock_get_time().
Peter Kjellerstedt [Thu, 3 Jul 2008 13:47:19 +0000 (13:47 +0000)]
gst/rtpmanager/: Do not mix the use of g_get_current_time() with gst_clock_get_time().

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_init),
(gst_rtp_session_finalize), (rtcp_thread),
(gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_recv_rtcp),
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_chain_send_rtp):
* gst/rtpmanager/rtpsession.c: (check_collision),
(update_arrival_stats), (rtp_session_process_rtp),
(rtp_session_process_rtcp), (rtp_session_send_rtp),
(rtp_session_send_bye_locked), (rtp_session_send_bye),
(rtp_session_next_timeout), (session_report_blocks), (session_cleanup),
(is_rtcp_time), (rtp_session_on_timeout):
* gst/rtpmanager/rtpsession.h:
Do not mix the use of g_get_current_time() with gst_clock_get_time().

15 years agoFinal round of doc updates.
Stefan Kost [Mon, 16 Jun 2008 07:30:34 +0000 (07:30 +0000)]
Final round of doc updates.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/speed/gstspeed.c:
* gst/speexresample/gstspeexresample.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/dvb/gstdvbsrc.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
* sys/wininet/gstwininetsrc.c:
Final round of doc updates.

15 years agogst/: More doc updates. More xrefs.
Stefan Kost [Mon, 16 Jun 2008 07:03:58 +0000 (07:03 +0000)]
gst/: More doc updates. More xrefs.

Original commit message from CVS:
* gst/deinterlace/gstdeinterlace.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/sdp/gstsdpdemux.c:
More doc updates. More xrefs.

15 years agoDo not use short_description in section docs for elements. We extract them from eleme...
Stefan Kost [Thu, 12 Jun 2008 14:49:18 +0000 (14:49 +0000)]
Do not use short_description in section docs for elements. We extract them from element details and there will be war...

Original commit message from CVS:
* ext/dc1394/gstdc1394.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/metadata/gstmetadatademux.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* gst-libs/gst/app/gstappsink.c:
* gst/bayer/gstbayer2rgb.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/rawparse/gstaudioparse.c:
* gst/rawparse/gstvideoparse.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/selector/gstinputselector.c:
* gst/selector/gstoutputselector.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
Also fixing up the ChangeLog order.

15 years agogst/rtpmanager/gstrtpbin.c: Fix deadlock when shutting down, use a new lock instead...
Wim Taymans [Fri, 6 Jun 2008 13:01:05 +0000 (13:01 +0000)]
gst/rtpmanager/gstrtpbin.c: Fix deadlock when shutting down, use a new lock instead to properly shutdown.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_init),
(gst_rtp_bin_finalize), (gst_rtp_bin_change_state):
Fix deadlock when shutting down, use a new lock instead to properly
shutdown.

15 years agogst/rtpmanager/gstrtpbin.c: Break out of callbacks when we are shutting down.
Wim Taymans [Tue, 27 May 2008 16:48:10 +0000 (16:48 +0000)]
gst/rtpmanager/gstrtpbin.c: Break out of callbacks when we are shutting down.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c:
(gst_rtp_bin_propagate_property_to_jitterbuffer),
(gst_rtp_bin_change_state), (new_payload_found),
(new_ssrc_pad_found):
Break out of callbacks when we are shutting down.
Make sure no state changes can happen when we reconfigure.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: When checking the seqnum, reset the jitterbuffer...
Wim Taymans [Mon, 26 May 2008 10:09:29 +0000 (10:09 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: When checking the seqnum, reset the jitterbuffer if the gap is too big, we need ...

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop):
When checking the seqnum, reset the jitterbuffer if the gap is too big,
we need to do this so that we can better handle a restarted source.
Fix some comments.
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew),
(rtp_jitter_buffer_insert):
Tweak the skew resync diff.
Use our working seqnum compare function in -base.
Rework the jitterbuffer insert code to make it clearer and more
performant by only retrieving the seqnum of the input buffer once and by
adding some G_LIKELY compiler hints.
Improve debugging for duplicate packets.
* gst/rtpmanager/rtpsource.c: (rtp_source_process_rtp):
Fix a comment, we don't do skew correction here..

15 years agogst/rtpmanager/gstrtpbin.c: Propagate the do-lost and latency properties to the jitte...
Håvard Graff [Mon, 26 May 2008 10:00:24 +0000 (10:00 +0000)]
gst/rtpmanager/gstrtpbin.c: Propagate the do-lost and latency properties to the jitterbuffers when they are changed o...

Original commit message from CVS:
Patch by: Håvard Graff <havard dot graff at tandberg dot com>
* gst/rtpmanager/gstrtpbin.c:
(gst_rtp_bin_propagate_property_to_jitterbuffer),
(gst_rtp_bin_set_property):
Propagate the do-lost and latency properties to the jitterbuffers when
they are changed on rtpbin.

15 years agoDon't use _gst_pad().
Wim Taymans [Mon, 26 May 2008 09:57:40 +0000 (09:57 +0000)]
Don't use _gst_pad().

Original commit message from CVS:
* examples/switch/switcher.c: (switch_timer):
* gst/replaygain/gstrgvolume.c: (gst_rg_volume_init):
* gst/rtpmanager/gstrtpclient.c: (create_stream):
* gst/sdp/gstsdpdemux.c: (gst_sdp_demux_stream_configure_udp),
(gst_sdp_demux_stream_configure_udp_sink):
* tests/check/elements/deinterleave.c: (GST_START_TEST),
(pad_added_setup_data_check_float32_8ch_cb):
* tests/check/elements/rganalysis.c: (send_eos_event),
(send_tag_event):
Don't use _gst_pad().

15 years agodocs/Makefile.am: Don't attempt to build plugin docs when they're disabled.
Jan Schmidt [Fri, 16 May 2008 19:56:30 +0000 (19:56 +0000)]
docs/Makefile.am: Don't attempt to build plugin docs when they're disabled.

Original commit message from CVS:
* docs/Makefile.am:
Don't attempt to build plugin docs when they're disabled.
* gst/bayer/Makefile.am:
Add libgstvideo to the link.
* gst/rtpmanager/Makefile.am:
Fix link order, and move LIBS things to _LIBS

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Simply drop bad RTP packets with a warning inste...
Wim Taymans [Wed, 14 May 2008 21:02:19 +0000 (21:02 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Simply drop bad RTP packets with a warning instead of just posting an error and ...

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_chain):
Simply drop bad RTP packets with a warning instead of just posting an
error and stopping. This is a perfectly recoverable event and we don't
force people to use an rtpbin to filter out bad packets first.

15 years agogst/rtpmanager/gstrtpbin.c: Actually add the do-lost property to the object.
Wim Taymans [Tue, 13 May 2008 09:06:51 +0000 (09:06 +0000)]
gst/rtpmanager/gstrtpbin.c: Actually add the do-lost property to the object.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init):
Actually add the do-lost property to the object.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Avoid waiting for a negative (huge) duration...
Wim Taymans [Mon, 12 May 2008 18:43:41 +0000 (18:43 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Avoid waiting for a negative (huge) duration when the last packet has a lower ti...

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop):
Avoid waiting for a negative (huge) duration when the last packet has a
lower timestamp than the current packet.

15 years agogst/rtpmanager/gstrtpsession.c: Make sure to unref the rtpsession returned by gst_pad...
Peter Kjellerstedt [Mon, 12 May 2008 14:28:09 +0000 (14:28 +0000)]
gst/rtpmanager/gstrtpsession.c: Make sure to unref the rtpsession returned by gst_pad_get_parent() to prevent a memor...

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_query_send_rtcp_src):
Make sure to unref the rtpsession returned by gst_pad_get_parent() to
prevent a memory leak.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Initialise with GST_CLOCK_TIME_NONE to avoid...
Jan Schmidt [Mon, 12 May 2008 14:12:08 +0000 (14:12 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Initialise with GST_CLOCK_TIME_NONE to avoid compiler warning.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop):
Initialise with GST_CLOCK_TIME_NONE to avoid compiler warning.

15 years agogst/rtpmanager/rtpsource.c: Make sure to unref the caps used by RTPSource to prevent...
Peter Kjellerstedt [Fri, 9 May 2008 07:41:58 +0000 (07:41 +0000)]
gst/rtpmanager/rtpsource.c: Make sure to unref the caps used by RTPSource to prevent a memory leak.

Original commit message from CVS:
* gst/rtpmanager/rtpsource.c: (rtp_source_finalize):
Make sure to unref the caps used by RTPSource to prevent a memory leak.

15 years agogst/rtpmanager/rtpsession.c: Unlock the session lock when calling one of our callbacks.
Olivier Crete [Thu, 8 May 2008 09:43:33 +0000 (09:43 +0000)]
gst/rtpmanager/rtpsession.c: Unlock the session lock when calling one of our callbacks.

Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtpmanager/rtpsession.c: (source_clock_rate),
(rtp_session_process_bye), (rtp_session_send_bye_locked):
Unlock the session lock when calling one of our callbacks.
Fixes #532011.

15 years agogst/rtpmanager/gstrtpsession.c: Send RTP BYE command on EOS. Fixes bug #531955.
Sjoerd Simons [Thu, 8 May 2008 06:23:39 +0000 (06:23 +0000)]
gst/rtpmanager/gstrtpsession.c: Send RTP BYE command on EOS. Fixes bug #531955.

Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_event_send_rtp_sink):
Send RTP BYE command on EOS. Fixes bug #531955.

15 years agogst/rtpmanager/gstrtpbin.*: Expose new jitterbuffer property in rtpbin too.
Wim Taymans [Fri, 25 Apr 2008 11:32:09 +0000 (11:32 +0000)]
gst/rtpmanager/gstrtpbin.*: Expose new jitterbuffer property in rtpbin too.

Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_stream), (gst_rtp_bin_init),
(gst_rtp_bin_set_property), (gst_rtp_bin_get_property):
* gst/rtpmanager/gstrtpbin.h:
Expose new jitterbuffer property in rtpbin too.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Disable sending out rtp packet lost events by...
Wim Taymans [Fri, 25 Apr 2008 11:22:13 +0000 (11:22 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Disable sending out rtp packet lost events by default and make a property to ena...

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_init),
(gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property),
(gst_rtp_jitter_buffer_get_property):
Disable sending out rtp packet lost events by default and make a
property to enabe it. We will likely enable it by default when the base
depayloaders have a default handler for them so that we don't send these
events all through the pipeline for now.

15 years agogst/rtpmanager/gstrtpjitterbuffer.c: Remove private version of a function that is...
Wim Taymans [Fri, 25 Apr 2008 09:35:43 +0000 (09:35 +0000)]
gst/rtpmanager/gstrtpjitterbuffer.c: Remove private version of a function that is in -base now.

Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_flush_stop),
(gst_rtp_jitter_buffer_src_event), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_loop):
Remove private version of a function that is in -base now.
Add src event handler.
Rework the jitterbuffer pushing loop so that it can quickly react to
lost packets and instruct the depayloader of them. This can then be used
to implement error concealment data.

15 years agogst/rtpmanager/gstrtpsession.c: Set up some internal links functions for the RTCP...
Wim Taymans [Fri, 25 Apr 2008 08:21:06 +0000 (08:21 +0000)]
gst/rtpmanager/gstrtpsession.c: Set up some internal links functions for the RTCP and sync pads because the defaults ...

Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c:
(gst_rtp_session_query_send_rtcp_src), (create_recv_rtcp_sink),
(create_send_rtcp_src):
Set up some internal links functions for the RTCP and sync pads because
the defaults are really not correct.
Implement a query handler for the RTCP src pad, mostly to correctly
report about the latency.