Peter Kjellerstedt
dc4f9575be
rtpmanager: Removed unused variable priv
...
The variable priv was initialized in a lot of functions but then never
used for anything.
2009-09-01 13:21:23 +02:00
Peter Kjellerstedt
57adc2a803
rtpmanager: A little clean up
...
Make the code flow of gst_rtp_session_send_rtcp() and
gst_rtp_session_sync_rtcp() identical.
2009-09-01 13:04:14 +02:00
Peter Kjellerstedt
923b5b495a
rtpmanager: Make sure that used caps are not freed already (take 2)
...
This reintroduces the fix for bug #593391 . It also applies it in
gst_rtp_session_sync_rtcp() which has very similar code to
gst_rtp_session_send_rtcp().
2009-09-01 13:04:14 +02:00
Wim Taymans
8d924611e7
jitterbuffer: make sure time does not go backwards
...
When we construct a timestamp that would result in a timestamp that is earlier
than when the packet was received, reset the skew calculation as this is
probably a sign that the sender restarted or paused.
Fixes #593354
2009-09-01 12:48:28 +02:00
Peter Kjellerstedt
bfb1260af4
rtpmanager: Set caps in gst_rtp_session_send_rtcp() correctly again
...
The test for when to set an RTCP caps on the output pad in
gst_rtp_session_send_rtcp() accidentally got inverted in the last commit.
2009-09-01 11:32:41 +02:00
Wim Taymans
a74c385b7b
rtpsession: use proper locking for pads and caps
...
Use the sesion lock and shotdown variable to protect and ref the pads we are
going to push on.
fixes #561825
2009-08-31 16:38:27 +02:00
Wim Taymans
a522a2d4d2
rtpbin: whitespace fixes
2009-08-31 16:33:26 +02:00
Wim Taymans
a26a2a9ff5
jitterbuffer: add slope estimation code and debug
...
Add some code to measure the sender speed vs the receiver speed. This can be
used to detect bursts.
2009-08-31 13:02:16 +02:00
Wim Taymans
4814d899c2
jitterbuffer: reset skew when timestamps change
...
Refactor the jitterbuffer resync code.
Reset the skew correction when we detect a big timestamp discont.
See #593354
2009-08-31 12:57:32 +02:00
Wim Taymans
e254936e34
jitterbuffer: make sure time never goes invalid
...
Since the skew can be negative, we might end up with invalid timestamps. Check
for negative results and clamp to 0.
See #593354
2009-08-31 12:47:15 +02:00
Sebastian Dröge
041fa82179
rtpsession: Make sure that used caps are not freed already
...
Fixes bug #593391 .
2009-08-31 08:09:09 +02:00
Sebastian Dröge
000a483d31
rtp: Use new gst_iterator_new_single() for the internal linked pads iteration
2009-08-31 08:09:09 +02:00
Sebastian Dröge
a1cddb3fd6
rtpsession: Use iterate internal links instead of deprecated get internal links
2009-08-31 08:09:09 +02:00
Sebastian Dröge
c8c02d2c7a
jitterbuffer: Use iterate internal links instead of deprecated get internal links
2009-08-31 08:09:08 +02:00
Sebastian Dröge
97cb7bdb6c
rtpssrcdemux: Use iterate internal links instead of deprecated get internal links
2009-08-31 08:09:08 +02:00
Olivier Crête
7f569ca9c8
rtpbin: Fix reference leak
...
Fixes #591476 .
2009-08-14 13:47:18 +01:00
ric
92abe07e80
rtpsource: avoid buffer leak on bad seqnum
...
Fixes #590797
2009-08-11 02:30:47 +01:00
Wim Taymans
9f68303a2e
rtpsource: allow for NULL caps on buffers
...
Add the NULL caps check where it matters and also cover another case of
potential NULL caps.
Fixes #590030
2009-08-11 02:30:47 +01:00
Olivier Crête
e37844fdc7
rtpsource: Incoming buffers do not always have caps
2009-08-11 02:30:47 +01:00
Wim Taymans
3091137217
rtpsession: avoid doing lip-sync in BYE
...
When we get a BYE packet, don't do lip-sync with the SR inside because some
senders have trouble constructing valid SR packets after BYE.
2009-08-11 02:30:47 +01:00
Wim Taymans
3747ede14a
rtpbin: don't do lip-sync after a BYE
...
After a BYE packet from a source, stop forwarding the SR packets for lip-sync
to rtpbin. Some senders don't update their SR packets correctly after sending a
BYE and then we break lip-sync. We prefer to let the jitterbuffers drain with
the current lip-sync instead.
2009-08-11 02:30:47 +01:00
Wim Taymans
d2ef095b80
rtpbin: only reconsider once for BYE
...
When iterating the sources of a BYE packet, don't signal a reconsideration for
each of them but signal after we handled all sources.
2009-08-11 02:30:47 +01:00
Olivier Crête
e8c6bcdf8d
rtpsession: Free conflicting addresses on finalize
2009-08-11 02:30:46 +01:00
Wim Taymans
428368b44a
rtpbin: use new method for netaddress to string
2009-08-11 02:30:46 +01:00
Wim Taymans
512ba93159
rtpbin: do better cleanup of the src ghostpads
...
Connect to the pad-removed signal of the ptdemux elements so that we remove the
ghostpads for them. Fixes cleanup when going to NULL as well as when releasing
the sinkpads.
Fixes #561752
2009-08-11 02:30:46 +01:00
Wim Taymans
d7a8663e05
rtpsession: add a comment
2009-08-11 02:30:46 +01:00
Wim Taymans
c53e595d23
rtpbin: add SDES property
...
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-08-11 02:30:46 +01:00
Wim Taymans
9f330992f5
rtpbin: add SDES property that takes GstStructure
...
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-08-11 02:30:46 +01:00
Wim Taymans
d8496fb105
rtpbin: removed old gstrtpclient
2009-08-11 02:30:45 +01:00
Branko Subasic
779f67adc4
rtpbin: add support for buffer-list
...
Add support for sending buffer-lists.
Add unit test for testing that the buffer-list passed through rtpbin.
fixes #585839
2009-08-11 02:30:45 +01:00
Tim-Philipp Müller
c5793a6a45
Make build without warnings with debugging disabled
2009-08-11 02:30:45 +01:00
Olivier Crête
cf873498d2
rtpbin: Transform the right session sdes message
...
Fixes #584165
2009-08-11 02:30:45 +01:00
Olivier Crête
dee142a945
Add ssrc to application/x-rtp-source-sdes structure
2009-08-11 02:30:45 +01:00
Wim Taymans
bf15048f42
rtpsouce: the network address is in network order
...
Bring the network address in netowkr byte order to the host order.
2009-08-11 02:30:45 +01:00
Wim Taymans
91eef69131
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.
2009-08-11 02:30:45 +01:00
Wim Taymans
51251d0fa8
rtpbin: remove ptdemux ghostpads
2009-08-11 02:30:44 +01:00
Wim Taymans
7d9c2d20df
rtpbin: add to new signal to remove SSRC pads
2009-08-11 02:30:44 +01:00
Ali Sabil
6c684e59c6
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
2009-08-11 02:30:44 +01:00
Wim Taymans
48872d8215
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.
2009-08-11 02:30:44 +01:00
Wim Taymans
901b7f3b69
rtpbin: don't warn when getting request pads twice
...
Allow getting the request pads multiple times, just return the previously
created pads.
2009-08-11 02:30:44 +01:00
Wim Taymans
0ae6e3603b
rtpsource: add RTP and RTCP source address
...
Add the RTP and RTCP sender addresses in the stats structure.
2009-08-11 02:30:44 +01:00
Wim Taymans
62727e8fab
rtpsession: reuse source code for SDES
...
Reuse the RTPSource object property instead of duplicating code.
2009-08-11 02:30:44 +01:00
Wim Taymans
1719af9113
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
2009-08-11 02:30:43 +01:00
Wim Taymans
9c92ee6209
rtpbin: unref requests pads after releasing
2009-08-11 02:30:43 +01:00
Olivier Crête
a1c0bb2488
rtpbin: Implement releasing the streams
...
See #561752
2009-08-11 02:30:43 +01:00
Olivier Crête
e77542d350
rtpbin: Keep jb signals handler
...
Keep the signal handlers so they can be disconnected at release time
See #561752
2009-08-11 02:30:43 +01:00
Wim Taymans
59d0590cd7
rtpbin: use the right lock for the sessions
...
Use the right lock when iterating the sessions.
2009-08-11 02:30:42 +01:00
Olivier Crête
a9d6f3558c
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
2009-08-11 02:30:42 +01:00
Olivier Crête
46388b767f
rtpbin: Implement relasing of the rtp recv pad
2009-08-11 02:30:42 +01:00
Olivier Crête
3509098468
rtpbin: Implement releasing of rtp send pads
2009-08-11 02:30:42 +01:00