Tim-Philipp Müller
dbad1d424a
docs: update
2009-08-11 02:43:35 +01:00
Tim-Philipp Müller
4701696a92
Move rtpmanager from -bad to -good.
...
Hook up build infrastructure (autotools, docs, unit test).
2009-08-11 02:43:09 +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
57653143c3
tests: add receive rtpbin unit test
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
02b34602c4
tests: more rtpbin checks
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
232624c908
tests: add more rtpbin tests
2009-08-11 02:30:44 +01:00
Wim Taymans
1710d8a3a5
tests: add rtpbin unit test
...
Add the beginnings of an rtpbin unit test
Add some more stuff to .gitignore
2009-08-11 02:30:43 +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
Olivier Crête
2f6e9d7bf2
rtpbin: Implement release of the recv rtcp pad
...
See #561752
2009-08-11 02:30:42 +01:00
Olivier Crête
47d4bb90c1
rtpbin: Implement releasing of rtcp src pad
...
See #561752
2009-08-11 02:30:41 +01:00
Wim Taymans
11607c4d63
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
2009-08-11 02:30:41 +01:00
Olivier Crete
3482b47666
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
2009-08-11 02:30:41 +01:00
Olivier Crete
63636b1290
rtpsession: notify when SSRC changes
...
Emit a g_object_notify when the SSRc changes because of a collision.
Fixes #580144
2009-08-11 02:30:41 +01:00
Wim Taymans
d45d18c735
rtpsession: join the RTCP thread
...
Avoid a case where a joinable thread would be left unjoined, which leaked the
thread structure.
Fixes #577318 .
2009-08-11 02:30:41 +01:00
Wim Taymans
64046416cc
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.
2009-08-11 02:30:41 +01:00
Wim Taymans
d6c623e90c
rtpbin: we should not provide a clock
...
There is no need to provide a clock.
2009-08-11 02:30:41 +01:00
Wim Taymans
5ece6ae4e3
jitterbuffer: more estimated EOS fixes
...
Do more accurate EOS estimate and guard against backward timestamps.
2009-08-11 02:30:41 +01:00
Wim Taymans
cbad89600c
jitterbuffer: release lock before pushing EOS
...
Make sure we release the jitterbuffer lock before we start pushing out data
because else we might deadlock.
2009-08-11 02:30:41 +01:00