Wim Taymans
747447d298
rtpsession: avoid '...is used uninitialized'
2013-01-29 10:32:51 +01:00
Tim-Philipp Müller
629772f735
rtpmanager: use C89-style comments
2013-01-28 23:07:34 +00:00
Olivier Crête
451217c437
gstrtpsession: Fix double-declared variable
2013-01-28 18:06:15 -05:00
Olivier Crête
7300d489fe
rtp: Fix compilation errors in previous patches
2013-01-28 17:58:20 -05:00
Haakon Sporsheim
86c13ceae6
rtpsession: Ensure MT safe event handling and plug event leak.
...
https://bugzilla.gnome.org/show_bug.cgi?id=667826
2013-01-28 17:44:31 -05:00
Idar Tollefsen
268c998a32
rtpsession: mt-safe event-push
...
By taking a ref of the sink-pad under lock, it won't dissappear
while the push is taking place
https://bugzilla.gnome.org/show_bug.cgi?id=667816
2013-01-28 17:34:50 -05:00
Pascal Buhler
f459fe2673
rtpssrcdemux: Safely push on pads that might be removed due to a RTCP BYE
...
https://bugzilla.gnome.org/show_bug.cgi?id=667815
2013-01-28 17:01:27 -05:00
Wim Taymans
72402cc649
rtp: small improvements
2013-01-08 16:27:42 +01:00
Wim Taymans
af055d9574
jitterbuffer: refactor handle sync code
...
Move the code that combines the last SR packet and the current jitterbuffer sync
values into a sync structure, into its own function. We want to reuse this bit
later.
2013-01-07 15:50:33 +01:00
Wim Taymans
87f7d6b9bf
rtp: include downstream latency in SR calculations
...
When we make a mapping between an RTP timestamp and an NTP timestamp, include
the downstream latency applied to the sinks. This makes it possible to have
both sinks run with different latencies and still have correct sync on the
client. It also is more correct because the RTP timestamp in the SR report will
actually correspond more closely to the NTP time it was sent on the server.
For pipelines with high latency on the sender side, this actually allows a
GStreamer receiver to perform synchronisation instead of dropping the RTCP
packets.
2013-01-07 15:45:10 +01:00
Wim Taymans
c631ed3300
rtpsession: don't cast event functions
...
There is no need to cast the event functions and only causes problems later when
we change the signature later and things silently compiles wrong code.
2013-01-07 14:25:14 +01:00
Wim Taymans
8dcde8b3ea
rtp: more debug
2013-01-07 14:23:34 +01:00
Wim Taymans
6b7d05ac57
rtpsession: improve debug
2013-01-07 14:22:48 +01:00
Tim-Philipp Müller
8a3b116d1f
docs: add rtpmux and rtpdtmfmux to plugin docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
3295b5d791
rtpmanager: move rtpmux and rtpdtmfmux elements from -bad
...
https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
de204ba754
rtpmux: Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-12-16 16:36:39 +00:00
Tim-Philipp Müller
2778a1757f
rtpmux: Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-12-16 16:36:39 +00:00
Olivier Crête
15dfdc58d4
rtpmux: Misc fix for 0.11
...
Convert the incoming caps before proxying them
Clear the last_pad when going to ready
tests: Implement accept_caps, don't leak event
2012-12-16 16:36:38 +00:00
Wim Taymans
83262be703
rtpmux: update for RTP buffer api changes
2012-12-16 16:36:38 +00:00
Sebastian Dröge
f17064a8ea
rtpmux: Update for GST_PLUGIN_DEFINE() API changes
2012-12-16 16:36:34 +00:00
Wim Taymans
c86156ad8f
rtpmux: fix compilation
2012-12-16 16:35:36 +00:00
Wim Taymans
6826bbb6da
rtpmux: fix for caps api changes
2012-12-16 16:35:33 +00:00
Matej Knopp
bb345a584d
rtpmux: Fix compiler warnings
2012-12-16 16:35:29 +00:00
Olivier Crête
af4e999c59
rtpmux: Unref non-forwarded events
...
Also, don't unref forwarded ones
2012-12-16 16:35:29 +00:00
Olivier Crête
a8789d1df1
rtpmux: resync iterator on resync
2012-12-16 16:35:29 +00:00
Olivier Crête
0c54079af5
rtpmux: Re-push sticky events on input pad change
2012-12-16 16:35:29 +00:00
Olivier Crête
21831b430f
rtpmux: Don't leak gvalue from iterator
2012-12-16 16:35:29 +00:00
Wim Taymans
ccc4b960fc
rtpmux: more porting
2012-12-16 16:35:26 +00:00
Olivier Crête
f20a6b1d16
rtpmux: port to 0.11
2012-12-16 16:35:26 +00:00
Wim Taymans
35b6668fb6
rtpmux: make request pads take _%u
2012-12-16 16:35:22 +00:00
Olivier Crête
aa3607ef5c
rtpdtmfmux: Add last-stop to dtmf-event upstream events
...
Add the running time of the last outputted buffer to the
upstream "dtmf-event" events so that the dtmf source does not
leave a gap.
2012-12-16 16:35:22 +00:00
Edward Hervey
d137482fe5
rtpmux: Remove dead assignments
2012-12-16 16:35:22 +00:00
Stefan Kost
55aae6bfab
rtpmux: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2012-12-16 16:35:15 +00:00
Olivier Crête
9674d5cc23
rtpmux: Improve documentation
...
Add an example pipeline, and try to explain a bit more what it does.
2012-12-16 16:35:15 +00:00
Stefan Kost
ca27a279ba
rtpdtmfmux: remove unused variable
2012-12-16 16:35:15 +00:00
Stefan Kost
c85dceeacb
rtpdtmfmux: remove unused signal boilerplate
2012-12-16 16:35:15 +00:00
Stefan Kost
2353f8d852
rtpmux: no need to ref pad in _chain()
2012-12-16 16:35:15 +00:00
Youness Alaoui
e42d2eebcb
rtpmux: Unlock the right mutex
...
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.
Fixes bug #627991
2012-12-16 16:35:15 +00:00
Olivier Crête
78d1ebac9e
rtpmux: Add support for GstBufferList
...
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
2012-12-16 16:35:15 +00:00
Olivier Crête
c00f14419b
rtpmux: Don't leak invalid buffers
2012-12-16 16:35:15 +00:00
Tim-Philipp Müller
a45429d81d
rtpmux: fix missing debug log message argument
2012-12-16 16:35:15 +00:00
Olivier Crête
4a8d0243b5
rtpdtmfmux: Add some debug messages
2012-12-16 16:35:14 +00:00
Olivier Crête
423ce98666
rtpdtmfmux: Remove stream-lock event handling
2012-12-16 16:35:14 +00:00
Olivier Crête
a4500c0e74
rtpdtmfmux: Update doc for simplification
2012-12-16 16:35:14 +00:00
Olivier Crête
70097866de
rtpdtmfmux: Drop buffers on non-priority sinks when something is incoming on the priority sink
2012-12-16 16:35:14 +00:00
Olivier Crête
f6548fe9b6
rtpdtmfmux: Add priority sink pads
2012-12-16 16:35:14 +00:00
Olivier Crête
2bcea1537b
rtpdtmfmux: Cleanup event function
2012-12-16 16:35:14 +00:00
Olivier Crête
8e58646f5c
rtpmux: Aggregate incoming segments
2012-12-16 16:35:14 +00:00
Olivier Crête
7be57cac3a
rtpdtmfmux: Update documentation
2012-12-16 16:35:14 +00:00
Olivier Crête
e590fc1f32
rtpmux: Simplify request pad creation
2012-12-16 16:35:14 +00:00
Benjamin Otte
2867e00225
rtpmux: gst_element_class_set_details => gst_element_class_set_details_simple
2012-12-16 16:35:10 +00:00
unknown
fb7266884d
rtpmux: update the current_ssrc from the caps
...
Fixes #604101
2012-12-16 16:33:47 +00:00
Håvard Graff
eab65e84ca
rtpmux: release pads when disposing
...
Because of an allocated priv (GstRTPMuxPadPrivate), the element will
leak memory if not gst_rtp_mux_release_pad() is called. This would
previously only happen if release_request_pad() was called explicitly,
somthing that should not be neccesary.
Fixes #604099
2012-12-16 16:33:46 +00:00
Wim Taymans
0d54122804
dtmfmux: method name cleanups
2012-12-16 16:33:46 +00:00
Olivier Crête
3841cc74cf
rtpmux: Don't ignore requested pad name
2012-12-16 16:33:46 +00:00
Olivier Crête
d93295ff9d
rtpmux: Remove empty finalize
2012-12-16 16:33:46 +00:00
Olivier Crête
5e90a4e86b
rtpmux: Free the pad private data on pad release
...
Free the pad private data on pad release instead of using a weak ref,
which is not thread safe. Also, lock the content of the pad private using the element's
object lock.
2012-12-16 16:33:46 +00:00
Olivier Crête
4be63c9add
rtpmux: Reject wrong caps
2012-12-16 16:33:46 +00:00
Olivier Crête
0111bafb3a
rtpmux: Fix leak Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2012-12-16 16:33:46 +00:00
Olivier Crête
fcc1522d2e
rtpmux: Fix leak
...
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2012-12-16 16:33:46 +00:00
Olivier Crête
ff6686f1c7
rtpmux: Fix warning
2012-12-16 16:33:46 +00:00
Olivier Crête
00791f930b
rtpmux: Set different caps depending on the input
2012-12-16 16:33:46 +00:00
Olivier Crête
ed0b407038
rtpmux: Only free pad private when pad is disposed
2012-12-16 16:33:45 +00:00
Olivier Crête
92bb5199ac
rtpmux: Remove useless caps mangling
2012-12-16 16:33:45 +00:00
Olivier Crête
3ccf3217fe
rtpmux: Rename variable for more clarity
2012-12-16 16:33:45 +00:00
Olivier Crête
4b958f6d8d
rtpmux: Use GST_BOILERPLATE
2012-12-16 16:33:45 +00:00
Olivier Crête
abe57be248
rtpmux: Do the includes locally
2012-12-16 16:33:45 +00:00
Olivier Crête
05844c89e9
rtpmux: Add GST_DEBUG_FUNCPTRs
2012-12-16 16:33:45 +00:00
Olivier Crête
fd102b95ab
rtpdtmfmux: Release locked pad on release_pad
...
Release the special pad if the pad is removed from the muxer.
2012-12-16 16:33:45 +00:00
Laurent Glayal
00f8bab712
rtpdtmfmux: Release special on pad dispose
...
Fixes #577690
2012-12-16 16:33:45 +00:00
Stefan Kost
a4a22454dc
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.
2012-12-16 16:33:41 +00:00
Olivier Crête
7d4395a910
rtpmux: Move rtpmux from gst-plugins-farsight to -bad
2012-12-16 16:33:27 +00:00
Olivier Crête
68215752f4
rtpmux: Re-indent to Gst style
2012-12-16 16:33:24 +00:00
Olivier Crête
c7d0809434
rtpmux: Document rtp muxer a bit
2012-12-16 16:33:20 +00:00
Laurent Glayal
47c7a93df2
rtpmux: Add signals before stream lock and after unlocking
2012-12-16 16:33:17 +00:00
Olivier Crête
f1656ed8b0
rtpmux: Let ssrc through getcaps
2012-12-16 16:33:14 +00:00
Olivier Crête
1529dffaf9
rtpmux: Rename have_base to have_ts_base
2012-12-16 16:33:11 +00:00
Olivier Crête
57563517bd
rtpmux: Protect the seqnum with object lock in rtpmux
2012-12-16 16:33:08 +00:00
Olivier Crête
d3237eaf95
rtpmux: Remove unused sink_ts_base
2012-12-16 16:33:04 +00:00
Olivier Crête
cc23958183
rtpmux: Have getcaps to force the same clockrate on all pads
2012-12-16 16:33:01 +00:00
Olivier Crête
dc36590d0c
rtpmux: Validate RTP data in RTP Mux
2012-12-16 16:32:57 +00:00
Olivier Crête
360c8d4f1d
rtpmux: Remove unused clock-rate property
2012-12-16 16:32:54 +00:00
Olivier Crête
b86232d0dc
rtpmux: Clarify locking in rtpdtmfmux
2012-12-16 16:32:50 +00:00
Laurent Glayal
4b607cdda5
rtpmux: Missing format parameter
2012-12-16 16:32:47 +00:00
Håvard Graff
b313c80367
rtpmux: Update seqnum base in rtp muxer
...
With help from Wim
2012-12-16 16:32:43 +00:00
Håvard Graff
c479f90274
rtpmux: Fix some more leaks
2012-12-16 16:32:40 +00:00
Håvard Graff
1b5e769e0b
rtpmux: Fix leak
2012-12-16 16:32:37 +00:00
Olivier Crête
5cbb0de823
rtpmux: Don't unref caps we don't know (thanks Wim)
2012-12-16 16:32:32 +00:00
Olivier Crête
cebf506949
rtpmux: Put per-buffer debug at level LOG
2012-12-16 16:32:29 +00:00
Olivier Crête
3c12a423b7
rtpmux: Make debug print accurate
2012-12-16 16:32:25 +00:00
Olivier Crête
c49f4c87c6
rtpmux: Set our caps on the buffers
2012-12-16 16:32:22 +00:00
Olivier Crête
ec63da9366
rtpmux: Take the clock-base stored from the last setcaps
2012-12-16 16:32:18 +00:00
Olivier Crête
674c074114
rtpmux: Store the clock-base on setcaps
2012-12-16 16:32:15 +00:00
Olivier Crête
90264b9686
rtpmux: Add padprivate to the request pads
2012-12-16 16:32:11 +00:00
Olivier Crête
15d661ba3e
rtpmux: Make indentation more correct
2012-12-16 16:31:56 +00:00
Olivier Crête
3a7d09a749
rtpmux: Fix typo
2012-12-16 16:31:53 +00:00
Olivier Crête
91aef3ec5e
rtpmux: Set seqnum-base and clock-base in caps from rtpmuxer
2012-12-16 16:31:50 +00:00
Zeeshan Ali
6ea5ca354d
rtpmux: more debug
...
20070815135038-f3f1e-9c7a5490a525c6e8753cb1b8c03354df99132b5c.gz
2012-12-16 16:31:46 +00:00
Youness Alaoui
f0e209b638
rtpmux: missing comment
...
20070820185032-4f0f6-0ab67b6ac40dd4e35a8fe53f3cb6daff65ce43b9.gz
2012-12-16 16:30:33 +00:00
Olivier Crete
3ed5590da6
rtpmux: Make buffer writable before writing into it
...
20070712195336-3e2dc-91a5fb797cfa4919d4e2f9a728c6d6fbd3b83d93.gz
2012-12-16 16:30:31 +00:00
Olivier Crete
dd13f7c8ef
rtpmux: Set pads active when adding them to a potentially running element
...
20070706202459-3e2dc-a3731f885725594def0a7be997fc7b3a739ee967.gz
2012-12-16 16:30:27 +00:00
Olivier Crete
1c5075f927
rtpmux: Fix multiple ref leaks (patches by SP GLE)
...
20070607120121-3e2dc-061e9ef7a47b1b84fa8f8092f4b8bcc0e6db8c8c.gz
2012-12-16 16:30:23 +00:00
Zeeshan Ali
42f455e902
rtpmux: send event to all src pads
...
20070528152505-f3f1e-039216c73dc93f64c49962c77a0253cb9cfec4d3.gz
2012-12-16 16:30:18 +00:00
Zeeshan Ali
dba101bb0f
rtpmux: print a warning if receive an error iterating sinkpads
...
20070528123749-f3f1e-4c1eb3f511b5610143610a65a94d117f2c3d2580.gz
2012-12-16 16:30:15 +00:00
Zeeshan Ali
baa48dc6bc
rtpmux: deal with all the gst_iterator_next() return values
...
20070528122808-f3f1e-d301644c3be7633ec6dc5e28596e9346d2da6a50.gz
2012-12-16 16:30:12 +00:00
Zeeshan Ali
de40874670
rtpmux: Return correct value from the event handler
...
20070525123116-f3f1e-131b37b5f4521618fe2f1320409a47e65b35ad2d.gz
2012-12-16 16:30:08 +00:00
Zeeshan Ali
ed76f67e96
rtpmux: Ville's original patch to fix the traversal of dtmf event
...
20070525102709-f3f1e-6c41d1ef934068a4f4e810e7e981b420075b0c98.gz
2012-12-16 16:30:05 +00:00
zeeshan.ali@nokia.com
94ebe07862
rtpmux: Set the correct ts-offset on the get_prop value
...
20070329135250-65035-a43e222d91d57c0a61cb3287586aaa29abf78674.gz
2012-12-16 16:30:01 +00:00
zeeshan.ali@nokia.com
1ee542c378
rtpmux: Refactorize state_change
...
20070329135223-65035-23a0107b2e397710f035c6e88cc0e49b65bb4d5d.gz
2012-12-16 16:29:58 +00:00
zeeshan.ali@nokia.com
2498ba671a
rtpmux: set SSRC on the packets
...
20070329133622-65035-1be6e0aa85a71389f7d257b9cd3e13a73d6b745b.gz
2012-12-16 16:29:55 +00:00
zeeshan.ali@nokia.com
ee69c2690d
rtpmux: Code clean-up and more debug output
...
20070329131936-65035-9d499e209e0d7a409c3aa0d1040778babf076179.gz
2012-12-16 16:29:52 +00:00
zeeshan.ali@nokia.com
1c799ce964
rtpmux: Use own clock-base
...
20070328112219-65035-1ba5fefbc65059e9b0c860528a31062ceb6a7331.gz
2012-12-16 16:29:48 +00:00
zeeshan.ali@nokia.com
b04630d7a2
rtpmux: Only accept RTP streams that have the same clock-rate
...
20070323163139-65035-fc0b17b0b8a7a041f48994c4f26e96568168bf95.gz
2012-12-16 16:29:45 +00:00
zeeshan.ali@nokia.com
6fe1e02efd
rtpmux: Some more code-cleanups
...
20070322161552-65035-bda96165e146b4f1d5fea1cc9576a7ab3abebc9e.gz
2012-12-16 16:29:42 +00:00
zeeshan.ali@nokia.com
1603223ee5
rtpmux: return newpad instead of NULL and warn if failed to create a pad
...
20070322154251-65035-cdb6651e61c2eb0205cc8c24693b43f98a2da718.gz
2012-12-16 16:29:38 +00:00
zeeshan.ali@nokia.com
23d3ed5c5f
rtpmux: Refactorize the RTPMux code
...
20070322124132-65035-0a3278147546e33f687097a43b775b3f6aa99f93.gz
2012-12-16 16:29:35 +00:00
zeeshan.ali@nokia.com
21e6e951f6
rtpmux: Some more doc fixing
...
20070322121453-65035-12d602272217b51bd97df4e5790024c399622dd3.gz
2012-12-16 16:29:32 +00:00
zeeshan.ali@nokia.com
0de7fb6f37
rtpmux: More Refactoring
...
20070322113228-65035-bae34a79599e7de5293ed77b022361ccff822bb9.gz
2012-12-16 16:29:29 +00:00
zeeshan.ali@nokia.com
0f755657ce
rtpmux: More documentation
...
20070322113154-65035-624850541a5b5fc3df231204be5a83d07239db28.gz
2012-12-16 16:29:26 +00:00
zeeshan.ali@nokia.com
5483c78ac0
rtpmux: Refactor the event handler function
...
20070321163311-65035-987e7f25d1ab5335b79f44b277abf15e4e37d317.gz
2012-12-16 16:29:23 +00:00
zeeshan.ali@nokia.com
db1523ae60
rtpmux: Add RTPDTMFMux element
...
20070321145244-65035-9a01390b0dee3398e53199a1fa1d9352004f338e.gz
2012-12-16 16:29:19 +00:00
zeeshan.ali@nokia.com
97ff54dce7
rtpmux: Remove DTMF-specific code from RTP muxer and make it extendable
...
20070321123149-65035-b8a8f55ff78eed8cbb0042e827885edfc5438242.gz
2012-12-16 16:29:16 +00:00
zeeshan.ali@nokia.com
1a227ac7e5
rtpmux: Put more helpful description
...
20070320120524-65035-db27a7cf6307b511aeb3d996d26e790e367a7bad.gz
2012-12-16 16:29:13 +00:00
zeeshan.ali@nokia.com
d876c0d8cc
rtpmux: remove the (commented-out) code for blocking the pads
...
20070316151641-65035-0123af387951f88594797c722e882cfe70240aff.gz
2012-12-16 16:29:10 +00:00
zeeshan.ali@nokia.com
209228c44d
rtpmux: Drop buffers instead of blocking the sinkpads
...
20070316131444-65035-9c1345ad96108881f455d4b55a7f623cd302d0ed.gz
2012-12-16 16:29:05 +00:00
zeeshan.ali@nokia.com
795822ffa5
rtpmux: Implement stream locking, needed for DTMF
...
20070314171618-65035-e4d24b1606ce0a3e2e739f01833f61e4d7555eac.gz
2012-12-16 16:29:02 +00:00
zeeshan.ali@nokia.com
fd209faa56
rtpmux: use GST_*_OBJECT instead of g_*
...
20070314102058-65035-e2442888f2e3e5a3a7659ad7954a4fba34749ce2.gz
2012-12-16 16:28:58 +00:00
zeeshan.ali@nokia.com
b0208cb0a6
rtpmux: No need to manage pads, parent does that for us
...
20070314101854-65035-ef5f4abde227102a1128835ab325905eae4c3726.gz
2012-12-16 16:28:55 +00:00
zeenix@gmail.com
74e9071dad
rtpmux: Fix copyright header
...
20070314090358-d014a-3a6d3eeeaaf5cb8ca3bca6a33e99a551f598bd48.gz
2012-12-16 16:28:51 +00:00
zeeshan.ali@nokia.com
3c4cdf1541
rtpmux: The first implementation of RTP muxer
...
20070307085307-65035-833402413f99cb3f8be4883e92bad4c8722510c9.gz
2012-12-16 16:28:41 +00:00
Havard Graff
9c94f1187c
jitterbuffer: bundle together late lost-events
...
The scenario where you have a gap in a steady flow of packets of
say 10 seconds (500 packets of with duration of 20ms), the jitterbuffer
will idle up until it receives the first buffer after the gap, but will
then go on to produce 499 lost-events, to "cover up" the gap.
Now this is obviously wrong, since the last possible time for the earliest
lost-events to be played out has obviously expired, but the fact that
the jitterbuffer has a "length", represented with its own latency combined
with the total latency downstream, allows for covering up at least some
of this gap.
So in the case of the "length" being 200ms, while having received packet
500, the jitterbuffer should still create a timeout for packet 491, which
will have its time expire at 10,02 seconds, specially since it might
actually arrive in time! But obviously, waiting for packet 100, that had
its time expire at 2 seconds, (remembering that the current time is 10)
is useless...
The patch will create one "big" lost-event for the first 490 packets,
and then go on to create single ones if they can reach their
playout deadline.
See https://bugzilla.gnome.org/show_bug.cgi?id=667838
2012-12-13 12:00:43 +01:00
Wim Taymans
c755af0cb0
rtpsource: protect against invalid RTP packets
2012-11-12 11:18:30 +01:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Wim Taymans
d5fd524a0c
rtsession: fix compiler warning
2012-10-17 13:55:45 +02:00
Wim Taymans
26a21e85e2
rtpbin: clarify the ntp-sync option
2012-10-17 13:35:07 +02:00
Wim Taymans
f17db5c4ed
rtpsession: update caps in the source
...
Inform the source when caps changed. This was removed in the port to 1.0
leaving the source unaware of the clock-rate and unable to interpollate
rtp timestamps for SR packets.
2012-10-17 13:22:40 +02:00
Wim Taymans
f4eef3f48d
rtpbin: set PTS and DTS in jitterbufffer
2012-10-17 12:46:32 +02:00
Wim Taymans
796c1d8029
rtpbin: disable check for ntp-sync
...
Disable the check for the ntp-sync method. It is expected that
a rather larger offset needs to be applied with this method.
2012-10-17 12:27:03 +02:00
Wim Taymans
1cebcfa8c2
rtpbin: use running-time for NTP time
...
When use-pipeline-clock is set, use the running-time of the
pipeline to calculate the NTP timestamps. This method would previously
only work when the base-time is set to 0 but with this change it can
also work with different offsets and we can also implement pause/resume
of the sender and receiver now.
2012-10-17 12:26:05 +02:00
Wim Taymans
5b394385b9
session: also stop probatation on existing sources
...
Receiving an RTCP packet should also stop probation on sources we have seen
before.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683065
2012-08-30 22:07:24 +02:00
Aleix Conchillo Flaque
4a200b670f
rtp: make rtp packet probation configurable (bug #682512 )
2012-08-30 21:49:57 +02:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Aleix Conchillo Flaque
8d864dbbfc
rtspsrc: make jitterbuffer drop-on-latency available ( fix #682055 )
...
Conflicts:
gst/rtsp/gstrtspsrc.h
2012-08-22 10:39:19 +02:00
Tim-Philipp Müller
787c314ec3
Silence some 'variable may be used uninitialized' compiler warnings
...
When compiling with -DG_DISABLE_ASSERT
2012-08-08 11:31:59 +01:00
Olivier Crête
2e21ace12c
rtpssrcdemux: Block pad while it is announced.
...
Block the RTP pad and associated RTCP pads while they are being
announced. This it to prevent a race where one is announced and
before the callback has connected it, the other one gets a buffer.
We can't use the "padlock" of ssrcdemux because it causes deadlocks.
2012-08-06 18:04:58 -07:00
Olivier Crête
2aa360c936
rtpssrcdemux: Release lock before signalling new pad
...
This prevents a deadlock where something would try to push an event
through the SSRC demux from the callback, causing the pads to be iterated
and the lock taken.
2012-08-04 18:14:28 -07:00
Wim Taymans
51371d26ee
update for RTP buffer api changes
2012-07-17 16:38:27 +02:00
Tim-Philipp Müller
c22268b5d3
rtpsession: remove deprecated and unused "ntp-ns-base" property
2012-07-06 13:16:00 +01:00
Wim Taymans
30d3dfee36
update for task api change
2012-06-20 10:33:42 +02:00
Wim Taymans
dc04908412
update for clock api changes
2012-06-20 10:01:57 +02:00
Pascal Buhler
8161daef4a
rtpsession: creation should be signaled before validation
...
https://bugzilla.gnome.org/show_bug.cgi?id=667850
2012-05-09 10:36:18 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02:00
Mark Nauwelaerts
a34cbc7637
rtpbin: fix some lock management
...
... to avoid trying to take a non-recursive lock twice.
2012-03-26 18:38:34 +02:00
Wim Taymans
7f3a00decd
jitterbuffer: reply FALSe on serialized queries
2012-03-14 15:45:38 +01:00
Wim Taymans
af59f573b5
rtpsession: don't leak the address
2012-03-13 19:26:47 +01:00
Wim Taymans
b5f1969406
rtpbin: improve cleanup
...
Reuse cleanup methods to make sure we remove all pads correctly
2012-03-07 15:22:36 +01:00
Wim Taymans
9942d3566e
rtpsession: set caps without the lock
...
Release the lock before setting the caps on the srcpad, which triggers an event,
which could eventually call back into us and cause a deadlock.
2012-03-07 15:02:44 +01:00
Wim Taymans
5cce960baa
ptdemux: set caps after activating the pad
...
Set the caps after we activated the pad or else it will just fail.
2012-03-07 15:02:44 +01:00
Mark Nauwelaerts
f189f62b13
Merge branch 'master' into 0.11
...
Conflicts:
ext/wavpack/gstwavpackenc.c
tests/check/elements/audioiirfilter.c
tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Edward Hervey
9beda57c3a
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 14:47:25 +01:00
Tim-Philipp Müller
979431c034
rtpjitterbuffer: declare variables at the beginning of the block
...
It's how we roll. Fixes 'ISO C90 forbids mixed declarations and code'
compiler warning.
2012-02-16 11:21:28 +00:00
Wim Taymans
225e98d623
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacenc.c
ext/jack/gstjackaudioclient.c
ext/jack/gstjackaudiosink.c
ext/jack/gstjackaudiosrc.c
ext/pulse/plugin.c
ext/shout2/gstshout2.c
gst/matroska/matroska-mux.c
gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Wim Taymans
9365f12d6e
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:43:30 +01:00
Wim Taymans
ed8c0b7f63
jitterbuffer: fix caps after pt change
2012-02-06 09:23:07 +01:00
Wim Taymans
c94c06530e
jitterbuffer: fix caps leak
2012-02-06 09:18:17 +01:00
Tim-Philipp Müller
0f3b7b010e
build: ignore GValueArray deprecation warnings for the time being
...
until this gets sorted out with the GLib folks and we have a
viable alternative.
https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 16:40:51 +00:00
Olivier Crête
87f2088303
rtpjitterbuffer: Don't leak caps event when not pushing
2012-01-27 19:05:24 +01:00
Olivier Crête
33a6d1921f
rtpptdemux: Forward sticky events
2012-01-27 19:05:24 +01:00
Olivier Crête
7b1f8cb8f0
rtpptdemux: Protect all uses pad list with OBJECT LOCK
...
Actually protect the entire pad list and use it in a thread safe
way.
2012-01-27 19:05:24 +01:00
Olivier Crête
b3f5cdd1f9
rtpssrcdemux: Forward sticky events to new pads
2012-01-27 19:05:24 +01:00
Olivier Crête
76c93af537
rtpssrcdemux: Add ssrc to forwarded CAPS events
...
Also iterate the list of GstRtpSsrcDemuxPad safely
2012-01-27 19:05:23 +01:00
Olivier Crête
3285c45dbc
rtpssrccdemux: Factor out getting dpad by pad
2012-01-27 19:05:23 +01:00
Olivier Crête
b850741430
rtpsession: Keep the buffer mapped while it is being modified
2012-01-27 19:05:23 +01:00
Olivier Crête
aeec2d5f7e
rtpsession: Initialise the address pointer to NULL
2012-01-27 19:05:23 +01:00
Tim-Philipp Müller
5525e40970
rtpmanager: don't pretend our random hostnames are fully-qualified domain names
2012-01-25 13:19:12 +00:00
Sebastian Dröge
0b517ce9fb
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11
2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacdec.c
ext/jpeg/gstjpegenc.c
ext/pulse/pulsesink.c
sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
b4630dd3e0
more memory API porting
2012-01-25 12:30:29 +01:00
Tim-Philipp Müller
a476d529d2
rtpmanager: don't reveal the user's username, hostname or real name by default
...
Send a randomly made-up user@hostname as CNAME and don't
send a NAME at all by default.
https://bugzilla.gnome.org/show_bug.cgi?id=668320
2012-01-23 13:47:08 +00:00
Tim-Philipp Müller
7cb9b7ab9d
Use new GLib API unconditionally
2012-01-22 23:15:19 +00:00
Mark Nauwelaerts
eff88a239f
rtpbin: arrange for initialized variables
2012-01-20 17:10:51 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Sebastian Dröge
cb789e32ad
rtpmanager: Port to GIO
2012-01-17 13:08:42 +01:00
Tim-Philipp Müller
f10e8192fa
rtpptdemux: plug pad leak in error code path
...
Based on patch by: Stig Sandnes <stig.sandnes@cisco.com>
Don't leak srcpad if there are no caps.
https://bugzilla.gnome.org/show_bug.cgi?id=667820
2012-01-13 11:02:24 +00:00
Vincent Penquerc'h
654a04f90c
gstrtpssrcdemux: fix element leak
2012-01-12 18:23:42 +00:00
Sebastian Dröge
93e3ed5a86
Merge branch 'master' into 0.11
...
Conflicts:
ext/cairo/gsttextoverlay.c
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstaacparse.c
gst/avi/gstavimux.c
gst/flv/gstflvmux.c
gst/interleave/interleave.c
gst/isomp4/gstqtmux.c
gst/matroska/matroska-demux.c
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska-read-common.c
gst/multifile/gstmultifilesink.c
gst/multipart/multipartmux.c
gst/shapewipe/gstshapewipe.c
gst/smpte/gstsmpte.c
gst/udp/gstmultiudpsink.c
gst/videobox/gstvideobox.c
gst/videocrop/gstaspectratiocrop.c
gst/videomixer/videomixer.c
gst/videomixer/videomixer2.c
gst/wavparse/gstwavparse.c
po/ja.po
po/lv.po
po/sr.po
tests/check/Makefile.am
tests/check/elements/qtmux.c
tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans
5fd2b7abe3
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
b8b8454bcb
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
330d984288
Use g_thread_try_new() instead of g_thread_crate() with newer glib versions
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Wim Taymans
9e27b122d9
ssrcdemux: fix iterator and caps
2011-12-10 11:13:38 +01:00
Wim Taymans
da980884dd
rtpsession: forward the caps event
2011-12-10 11:13:38 +01:00
Wim Taymans
a705b2ec17
jitterbuffer: simply forward the caps event
...
forward the caps event we get as input instead of making a new event etc..
2011-12-10 11:13:38 +01:00
Wim Taymans
68588c3f18
rtpsession: forward caps
2011-12-10 11:13:38 +01:00
Wim Taymans
6ac5e1ae16
rtp: pass parent to setcaps methods
2011-12-10 11:13:38 +01:00
Wim Taymans
439e2f1cfd
rtp: fix marshallers
...
Remove custom marshallers for minobject.
Init RTCP buffer correctly.
Handle results from setcaps
Remove asserts.
2011-12-09 10:51:14 +01:00
Edward Hervey
86a57e3546
rtpmanager: Initialize GstRTPBuffer before usage
2011-12-05 18:40:12 +01:00
Wim Taymans
71b615515a
update for clock provider API change
2011-11-28 17:52:06 +01:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
09ca5fa910
rtpmanager: rename gstrtp* -> rtp*
...
This was done in 0.10 to avoid conflict with the rtp elements in
farsight, but the gst-prefixing is no longer needed in 0.11
2011-11-24 00:54:08 +00:00
Matej Knopp
1e5dd9e315
Fix printf format compiler warnings on OS X / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans
f8e988a94c
update for activation changes
2011-11-21 13:37:01 +01:00
Wim Taymans
b7aa7bca52
add parent to activate functions
2011-11-18 13:57:20 +01:00
Wim Taymans
07cc855b24
Merge branch 'master' into 0.11
...
Conflicts:
ext/speex/gstspeexenc.c
gst/rtpmanager/rtpsession.c
2011-11-17 17:17:11 +01:00
Wim Taymans
105650127e
add parent to pad functions
2011-11-17 15:02:55 +01:00
Wim Taymans
7cc4b72550
add parent to internal links
2011-11-16 17:54:49 +01:00
Wim Taymans
6190312214
add parent to query function
2011-11-16 17:27:13 +01:00
Wim Taymans
797523efbd
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:44 +01:00
Wim Taymans
75dc9634eb
change getcaps to query
...
Chain up event function in payloaders.
2011-11-15 18:04:44 +01:00
Olivier Crête
1169bb05af
gstrtpsession: Add special mode to use FIR as repair as Google does
...
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
79a9564c68
rtpsession: Send FIR requests in response to key unit requests with all-headers=TRUE
...
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
12a6b9613b
rtpsession: Put the PLI requests in each RTPSource
...
Also refactor a bit and put all the keyframe request code in one
place inside rtpsession.c
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
59c028a4ce
rtpsession: Hack to FIR because Google doesn't set the sender ssrc correctly
...
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
0ad78db0a3
rtpsession: Process received Full Intra Requests
...
Process FIR requests according to RFC 5104
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Wim Taymans
a19a4a69ae
more template fixes
2011-11-04 13:12:37 +01:00
Wim Taymans
a95acb7122
make %u in all request pad templates
2011-11-04 11:58:22 +01:00
Wim Taymans
6cbd6afc0b
update for new net library
2011-11-03 16:43:00 +01:00
Wim Taymans
83ccefb24e
update for netbuffer api change
2011-11-02 09:06:38 +01:00
Wim Taymans
75e0c6052f
update for netaddress change
2011-11-02 09:06:38 +01:00
Wim Taymans
9a8a8e72c8
structure: fix for api update
2011-11-02 09:06:37 +01:00
Wim Taymans
161310fa23
bufferlist: update for new API
2011-11-02 09:06:37 +01:00
Tim-Philipp Müller
d18a578ba4
rtpmanager, v4l2: fix compiler warnings after gst_caps_new_simple() change
2011-10-28 09:06:41 +01:00
Wim Taymans
fc4684f4c6
fix compilation
2011-10-27 16:03:17 +02:00
Edward Hervey
d4a2a46606
rtpssrcdemux: Fix wrong usage of gst_iterator_filter
...
It takes a GValue* as the user_data.
And don't forget to unref the demuxer before returning.
2011-10-13 09:34:04 +02:00
Wim Taymans
87fbd1e784
Merge branch 'master' into 0.11
...
Conflicts:
common
ext/pulse/pulsesink.c
ext/soup/gstsouphttpclientsink.c
gst/audioparsers/gstaacparse.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtpmanager/gstrtpjitterbuffer.c
gst/rtpmanager/rtpjitterbuffer.c
gst/rtsp/gstrtspsrc.c
sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Ha Nguyen
931020158e
rtpbin: Fix a leaked clock for each buffering message
...
Fixes bug #659237 .
2011-09-19 14:05:26 +02:00
Mark Nauwelaerts
e2179cbb74
rtpsession: avoid source premature timing out
...
Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
f65d4c8300
rtpsession: avoid timing out source too quickly
...
... following a PAUSE/PLAY cycle, particularly applicable when operating
with a short RTCP interval (possibly forced so server-side).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
77ebd33991
rtpjitterbuffer/rtpbin: relax dropping rtcp packets
...
... to at least having it trigger a/v synchronization, possibly without
using provided values which are still not considered sane
(as previously dropped).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
adfe7d0467
rtpjitterbuffer: some more reset when clearing pt map
...
... which in particular caters for some more reset following a possible
rtsp PLAY.
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
915db26029
rtpjitterbuffer: only reset skew on gap if input ts available
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts
1e17e10f75
rtpjitterbuffer: check some more for possible rtp timestamp discontinuity
...
... when operating in non slave mode, and reset if detected.
This should avoid some (large) bogus outgoing timestamp due to jumps
in rtp time, as result of PAUSE/PLAY or seek or ...
2011-09-19 11:56:40 +02:00
Mark Nauwelaerts
9c95072048
rtpbin: alternative inter-stream syncing methods
...
... at least if not syncing to NPT time:
* either sync using RTCP SR data (as currently)
* only perform the above once using initial RTCP SR packets
* discard RTCP and sync by equating provided stream's clock-base rtptime,
as provided by jitterbuffer (typically obtained from RTP-Info in RTSP).
2011-09-19 11:52:03 +02:00
Mark Nauwelaerts
4b7301e4d1
rtpjitterbuffer: also provide clock-base to sync signal
2011-09-19 11:52:00 +02:00
Mark Nauwelaerts
f29c253934
rtpbin: allow configurable rtcp stream syncing interval
...
... rather than necessarily syncing at each RTCP SR.
2011-09-19 11:51:57 +02:00
Mark Nauwelaerts
afd26f0078
rtpsession: trigger reconsideration if rtcp interval set
2011-09-19 11:51:50 +02:00
Wim Taymans
33f18b8ea4
Merge branch 'master' into 0.11
...
Conflicts:
gst/audioparsers/gstamrparse.c
gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Olivier Crête
b2e8362767
rtpsession: Initialise the last_keyframe_request variable
2011-09-02 19:24:46 -04:00
Wim Taymans
4121021bb2
Merge branch 'master' into 0.11
...
Conflicts:
ext/pulse/pulsesink.c
ext/pulse/pulsesrc.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtp/gstrtph264pay.c
gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Mark Nauwelaerts
c03648c8bb
rtpsession: properly init rtcp_min_interval
2011-07-29 12:08:42 +02:00
Mark Nauwelaerts
3a98f6f0fd
rtpssrcdemux: keep a ref on the src pad while using it
...
Prevent a possible race if clear_ssrc() is called between getting the pad and
doing the push.
Based on patch by <olivier.crete@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:51:01 +02:00
Olivier Crête
c7b9b98648
rtpssrcdemux: Make the pads lock recursive and hold it across the signal emit
...
We need to keep the lock held because we don't want a push before the "new-ssrc-pad"
handler has completed. But we may want to push an event from inside that handler, hence
the recursive mutex.
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:59 +02:00
Olivier Crête
e26b5391c2
rtpssrcdemux: Use PADs lock
...
https://bugzilla.gnome.org/show_bug.cgi?id=650916
2011-07-28 14:50:57 +02:00
Olivier Crête
6095d2a3f0
rtpsession: Always send application requested feedback in immediate mode
...
Send as many application requested feedback messages in immediate mode, even if they
have already been sent.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 17:20:59 +02:00
Olivier Crête
354faabda0
rtpsession: Don't let the computed RTP bandwidth fall too low
...
If it falls too low, the computed RTCP bandwidth will be near zero and
the RTCP thread will be stopped.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
2011-07-25 16:19:00 +02:00
Olivier Crête
4d48109f9d
rtpsession: Wait longer to timeout SSRC collision
...
Using the current RTCP interval to timeout SSRC collision can lead to
collisions being timed out immediately if a BYE packet is sent because
it is sent immediately, so the interval is 0. This is not what we
want. So just set a static 10 times the default RTCP interval, it
should be enough
https://bugzilla.gnome.org/show_bug.cgi?id=648642
2011-07-25 16:18:58 +02:00
Mark Nauwelaerts
ef02634dc6
rtpmanager: port to 0.11
...
* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes
FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.
2011-07-06 10:16:12 +02:00
Mark Nauwelaerts
d59a00aa1c
Merge branch 'master' into 0.11
...
Conflicts:
ext/pulse/pulsesink.c
2011-07-04 11:48:13 +02:00
Miguel Angel Cabrera Moya
977a5eee7a
rtpjitterbuffer: return correct type when assertion fails
2011-06-24 11:59:01 +02:00
Wim Taymans
cc65bff7c1
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
docs/plugins/inspect/plugin-esdsink.xml
docs/plugins/inspect/plugin-gconfelements.xml
2011-06-21 18:24:41 +02:00
Olivier Crête
581a30d892
rtpsession: The signal has 5 arguments, not 4
2011-06-20 16:47:36 -04:00
Wim Taymans
409f29700d
-good: port some more plugins
2011-06-13 17:51:40 +02:00
Wim Taymans
e15651816e
Merge branch 'master' into 0.11
2011-05-17 16:13:59 +02:00
Sebastian Dröge
b694bfeca3
ssrcdemux: Fix uninitialized variable compiler warning for (pre-) releases too
2011-05-17 10:47:32 +02:00
Sebastian Dröge
0f05d3e5a5
rtpssrcdemux: Fix uninitialized variable compiler warning
2011-05-17 09:24:08 +02:00
Olivier Crête
b6bfc512e8
ssrcdemux: Implement iterate internal links for sink pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:29 +02:00
Olivier Crête
23b6c8febc
rtpssrcdemux: iterate pad function is only valid for src pads
...
The iterate function is only used for src pads, so mark it as such and remove
dead code.
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:25 +02:00
Olivier Crête
1bf94a92b0
rtpssrcdemux: Release lock before emitting signal
...
If the lock is not released before emitting a signal, it may cause a deadlock
if any other function in the element is called.
Also removed an unused timestamp parameter
https://bugzilla.gnome.org/show_bug.cgi?id=649617
2011-05-17 09:22:20 +02:00
Wim Taymans
a1894ed363
Merge branch 'master' into 0.11
2011-04-25 11:38:28 +02:00
Olivier Crête
42531337f5
rtpsession: Remove incomplete support for RTCP FIR
...
Remove bits that were meant to suppport RTCP FIR
https://bugzilla.gnome.org/show_bug.cgi?id=648160
2011-04-20 07:50:43 +01:00
Wim Taymans
7555d0949f
Merge branch 'master' into 0.11
...
Conflicts:
android/apetag.mk
android/avi.mk
android/flv.mk
android/icydemux.mk
android/id3demux.mk
android/qtdemux.mk
android/rtp.mk
android/rtpmanager.mk
android/rtsp.mk
android/soup.mk
android/udp.mk
android/wavenc.mk
android/wavparse.mk
configure.ac
2011-04-18 10:23:45 +02:00
Robert Swain
5b18c652fb
rtp, rtpmanager: Address unused but set variables
...
GCC 4.6.x spits warnings about variables that are unused but set. Such
variables have been removed where trivial but with comments left behind
for informational purposes in some cases.
gst_rtp_session_chain_recv_rtcp () was changed in commit 490113d4
to always return GST_FLOW_OK instead of the return value of
rtp_session_process_rtcp (), so we'll keep it that way.
2011-04-16 12:49:16 +01:00
Olivier Crête
9d9257916b
rtpsession: Use existing functions to parse RTCP FB packets
...
Use existing functions to get the FCI from FB packets.
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:48:04 +01:00
Olivier Crête
5ccd964d86
rtpsession: marshal GstBuffer as a MiniObject instead of a pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=622553
2011-04-15 12:47:40 +01:00
Pascal Buhler
0d2d52856f
rtpssrcdemux: Unknown SSRC is not fatal
...
https://bugzilla.gnome.org/show_bug.cgi?id=646966
2011-04-11 17:37:58 -04:00
Pascal Buhler
58ef84846e
rtpsession: Number of active sources should be updated whenever the status of the source changes to active
...
Forward-ported by Olivier Crête
https://bugzilla.gnome.org/show_bug.cgi?id=646965
2011-04-11 17:37:36 -04:00
Havard Graff
53c88ae33e
rtpmanager: ignore a BYE if it is sent with our internal SSRC
...
https://bugzilla.gnome.org/show_bug.cgi?id=646964
2011-04-11 17:34:12 -04:00
Thibault Saunier
b541208b77
android: Make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 01:20:11 +02:00
Havard Graff
93f022d6ab
rtpsession: fix wrongly applied patch
...
Obviously recv_rtp_sink does not have much to do with send_rtcp_src...
See commit 046ff170.
https://bugzilla.gnome.org/show_bug.cgi?id=647263
2011-04-09 12:32:37 +01:00
Havard Graff
e71a908d96
jitterbuffer: Make src_query MT-safe
...
It is possible that the element might be going down while the event arrives
2011-04-08 15:23:05 +02:00
Sebastian Dröge
4c36ca30b2
jitterbuffer: Unref event if the parent element disappeared
2011-04-08 15:22:19 +02:00
Havard Graff
342686bb02
jitterbuffer: Make upstream events MT-safe
2011-04-08 15:21:46 +02:00
Sebastian Dröge
31af4fe33e
rtp: Unref events if the parent element disappeared
2011-04-08 15:20:51 +02:00
Ole André Vadla Ravnås
046f170d6a
rtpmanager: fix pad callbacks so they handle when parent goes away
...
1) We need to lock and get a strong ref to the parent, if still there.
2) If it has gone away, we need to handle that gracefully.
This is necessary in order to safely modify a running pipeline. Has been
observed when a streaming thread is doing a buffer_alloc() while an
application thread sends an event on a pad further downstream, and from
within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
while the streaming thread has its buffer_alloc() in progress.
2011-04-08 15:16:56 +02:00
Havard Graff
f8370bb2a8
rtpsession: make iterate_internal_links MT-safe
2011-04-08 14:41:34 +02:00
Wim Taymans
c124ba1489
Merge branch 'master' into 0.11
...
Conflicts:
gst/rtsp/gstrtspsrc.c
2011-04-05 17:20:08 +02:00
Mark Nauwelaerts
e5bcaa45e6
Revert "jitterbuffer: reset element base_time upon flush"
...
This reverts commit f84b8a69cb
.
Fixes bug #646397 .
2011-04-04 11:49:00 +02:00
Wim Taymans
8f22a09dc4
Merge branch 'master' into 0.11-fdo
2011-03-28 20:50:59 +02:00
Mark Nauwelaerts
6bc1aa0e59
jitterbuffer: handle position query
2011-03-09 17:18:08 +01:00
Wim Taymans
a4fdb8ee44
Merge branch 'master' into 0.11
...
Conflicts:
tests/examples/cairo/Makefile.am
2011-03-08 10:14:20 +00:00
Mark Nauwelaerts
1f7f434df6
jitterbuffer: also estimate eos if very near eos
2011-03-07 16:56:43 +01:00
Mark Nauwelaerts
3c9a4239bf
jitterbuffer: avoid trying to buffer more than is available.
...
That is, in case of short (or near eos of) stream, deadlock (until timeout)
would occur trying to buffer more than is yet forthcoming.
2011-03-07 16:56:18 +01:00
Mark Nauwelaerts
f84b8a69cb
jitterbuffer: reset element base_time upon flush
...
... to arrange for properly scheduled timeout (following seek).
2011-03-07 11:07:12 +01:00
Wim Taymans
0a56b25882
rtpsession: use NetAddress metadata
2011-02-28 13:28:29 +01:00
Wim Taymans
d87c27fd2c
miniobject: use buffer private field for extra data
...
Use the owner private field to store extra buffer data instead of using
subclassing.
2011-02-28 11:58:48 +01:00
Blaise Gassend
0f88181f43
rtpbin: handle NULL demux elements
...
When using gstrtpbin with ignore-pt=true, the free_stream function tries to
call gst_element_set_locked_state and gst_element_set_state on a stream->demux
which is NULL.
fixes #642412
2011-02-22 13:31:35 +01:00
Wim Taymans
45ea930a99
rtpbin: fix setting the SDES property
...
Only the sdes veriable is protected with the object lock.
Use the right object when setting the sdes property.
2011-02-21 17:19:05 +01:00
Wim Taymans
61382aad28
source: fix type of ntpnstime
2011-02-02 18:30:47 +01:00
Wim Taymans
8598aaf81b
rtpbin: Get and use the NTP time when receiving RTCP
...
When we receive an RTCP packet, get the current NTP time in nanseconds so that
we can correctly calculate the round-trip time.
2011-02-02 18:30:46 +01:00
Olivier Crête
cd923223dd
rtpsession: Add action signal to request early RTCP
2011-02-01 18:28:51 +01:00
Olivier Crête
c0996e6b90
rtpsession: Add callback to get the current time
2011-02-01 18:28:51 +01:00
Olivier Crête
a630c68fc3
rtpsession: Don't relay more than one PLI request per RTT
...
Drop PLI requests if one was relay in the last RTT, the other side may
just not have received the keyframe yet.
2011-02-01 18:28:51 +01:00
Olivier Crête
a61bb9e94b
rtpsession: Send GstForceKeyUnit event in response to received RTCP PLI
2011-02-01 18:28:51 +01:00
Sjoerd Simons
7350d2adfa
gstrtpsession: Fallback for FIR to PLI if PLI isn't available
2011-02-01 18:28:51 +01:00
Olivier Crête
52f95fa7ee
rtpsession: Implement sending PLI packets in response to GstForceKeyUnit
2011-02-01 18:28:51 +01:00
Olivier Crête
db5150a23a
rtpsource: Retain RTCP Feedback packets for a specified amount of time
2011-02-01 18:28:51 +01:00
Olivier Crête
90354ecb49
rtpsession: Make rtcp buffer metadata writable after processing it
...
Functions that process the rtcp buffer could decide to keep a ref
on the buffer for further processing. So make the metadata writable
only after they are done.
2011-02-01 18:28:50 +01:00
Olivier Crête
1643f427db
rtpsession: Emit signal on incoming RTCP FB packet
2011-02-01 18:28:50 +01:00
Wim Taymans
f399b6a641
rtpsession: fix compilation
2011-02-01 18:28:50 +01:00
Olivier Crête
1bde427250
rtpsession: Add method to request early RTCP packet
...
Implement the early mode defined in RFC 4585. In this mode, RTCP feedback
packets are sent early to notifier.
2011-02-01 17:03:39 +01:00
Olivier Crête
975e1fecb3
rtpsession: Add property for minimum interval between Regular RTCP messages
...
This can be changed according to RFC 4585
2011-02-01 16:56:15 +01:00
Olivier Crête
cdb5465741
rtpsession: Emit signal when sending a compound RTCP packet
...
This allows users to add extra RTCP packets to the compound
RTCP packet.
2011-02-01 16:50:58 +01:00
Olivier Crête
589b254ce5
rtpptdemux: Tag upstream custom events with payload type
2011-02-01 16:50:25 +01:00
Olivier Crete
c7b1ce7310
rtpssrcdemux: Tag upstream custom events with SSRC
2011-02-01 16:49:10 +01:00
Olivier Crête
9f073459e0
rtpsession: Emit "on-ssrc-validated" when validating by RTCP
...
Emit "on-ssrc-validated" if the SSRC is validated by receiving
a RTCP SDES packet.
2011-02-01 16:45:58 +01:00
Stefan Kost
9f34b89245
rtpjitterbuffer: don't divide by 0
2011-01-25 21:57:57 +02:00
Wim Taymans
b5647685c4
rtpsource: use the right variable
...
Use the right variable for specifying that we sent a receiver report.
2010-12-27 13:13:46 +01:00
Wim Taymans
7caad21a57
rtpsource: include last send RB block
...
Only report RB values for non-internal sources.
Report not only the RB blocks we last received from but also the last RB
block we sent to a source.
2010-12-23 13:58:30 +01:00
Wim Taymans
8fa5ddab9a
rtpsession: remember last sent RB values.
2010-12-23 13:58:30 +01:00
Wim Taymans
6035ee08c0
rtpsource: include all stats and document
...
Include all possible stats of a source in the stats structure because we might
be interested in what happened in the past.
Document the stats property and the fields.
2010-12-23 13:58:30 +01:00
Wim Taymans
10a5a795ea
rtpsession: also emit RTCP activity on SR
...
Also emit RTCP activity signals when we receive an SR packet without RB blocks,
such as from a sender that is not receiving anything.
2010-12-23 13:58:30 +01:00
Wim Taymans
1230258e6f
docs: add some more gstrtpbin docs
2010-12-23 13:58:29 +01:00
Wim Taymans
2b53cbe923
rtpsession: unlock before emitting signals
2010-12-22 11:46:21 +01:00
Wim Taymans
eb6d552353
jitterbuffer: get better buffering level
...
When the jitterbuffer contains -1 timestamps, make sure we still calculate the
buffer fill level by skipping the -1 buffers.
Try to be more resilient to weird input timestamps.
2010-12-20 15:56:50 +01:00
Wim Taymans
6cb0efede4
jitterbuffer: provide a clock.
...
since we are using the clock for sync, we need to also provide a clock for good
measure. The reason is that even if downstream elements provide a clock, we
don't want to have that clock selected because it might not be running yet.
2010-12-20 11:13:09 +01:00
Wim Taymans
210f1c44c7
rtpbin: copy buffering stats
...
when we create an aggregate buffering message, copy the buffering stats form the
last message. At least we get correct buffering mode then.
2010-12-20 11:13:09 +01:00
Wim Taymans
0c3333da04
session: fix average RTCP packet size some more.
...
Fix stupid error in averaging macro.
Include udp headers in packet length estimation.
2010-12-14 18:12:43 +01:00
Wim Taymans
7ebd374766
rtpbin: correctly calculate RTCP packet size
2010-12-14 17:15:23 +01:00
Wim Taymans
ffc7cd9803
jitterbuffer: avoid leaking sink events
...
Avoid leaking the newsegment event when it has the wrong format.
2010-12-13 12:57:58 +01:00
Mark Nauwelaerts
46c91476eb
rtpssrcdemux: do not hold custom PAD_LOCK when pushing downstream
2010-12-03 15:50:21 +01:00
Olivier Crête
077a61932a
rtpbin: Use the right constant to define the "use-pipeline-clock" property
...
The wrong #define was being used, now use the correct one.
2010-10-14 17:41:30 -04:00
Stefan Kost
d8167e3071
various (gst): add a missing G_PARAM_STATIC_STRINGS flags
2010-10-13 18:00:28 +03:00
Tim-Philipp Müller
d65eb2b91a
ext, gst: canonicalise property names where this wasn't the case
...
ie. "foo_bar" -> "foo-bar"
2010-10-12 16:04:21 +01:00
Vladimir Eremeev
8bf7381385
rtpjitterbuffer: improve article reference in comment block
...
https://bugzilla.gnome.org/show_bug.cgi?id=631082
2010-10-01 18:07:03 +01:00
Thijs Vermeir
2c2c90a723
rtpjitterbuffer: update link to documentation
2010-09-30 12:08:49 +02:00
Pascal Buhler
7a8c2a4b8a
rtpmanager: packet lost should not be a warning. It happens all the time...
2010-09-24 16:00:03 +02:00
Pascal Buhler
ca6a512b5e
rtpbin: Make cleaning up sources in rtp_session_on_timeout MT safe
...
Using _foreach_remove on the hashtable, while releasing the lock protecting
that table inside the callback is not a good idea. The hashtable might
then change (a source removed or added) while signals like on_timeout
are being sent.
This solution makes a copy of the table, performs the _foreach without
actually removing any sources, but marks them for removal on a second
iteration with the real list, but this time not letting go of the lock.
Fixes #630452
2010-09-24 15:38:00 +02:00
Pascal Buhler
bd8d80a8e4
rtpbin: Handle rysnc of iterator when looking for free pad name
...
If a new pad was added while iterating then a pad could be
returned that was already in use.
Fixes #630451
2010-09-24 14:10:26 +02:00
Wim Taymans
8337c89c74
rtpsession: fix compilation
2010-09-24 14:10:26 +02:00
Trond Andersen
800b4bdb26
rtpbin: Unlock before adding pad in new_payload_found
...
Holding internal locks while potentially calling out is a source
of deadlocks, and in this case the application might subscribe to the
pad-added signal.
Fixes #630449
2010-09-24 14:00:11 +02:00
Havard Graff
062568a9f5
rtpsession: relax third-party collision detection
...
If the source has been inactive for some time, we assume that it has
simply changed its transport source address. Hence, there is no true
third-party collision - only a simulated one.
Fixes #630447
2010-09-24 13:56:56 +02:00
Wim Taymans
ce007b244e
rtpsource: whitespace fixes
2010-09-24 13:50:02 +02:00
Wim Taymans
c5203a479b
rtpsource: simplify the rate estimation some more
2010-09-24 13:48:50 +02:00
Havard Graff
0fa589a3dd
rtpmanager: provide additional statistics
2010-09-24 13:26:10 +02:00
Wim Taymans
2c8b725591
rtpstats: printf format fixes
2010-09-17 11:07:52 +02:00
Olivier Crête
8e73da10b3
gstrtpsession: Split getting the caps into its own function
2010-09-13 16:25:42 +02:00
Wim Taymans
8e1c9b5b33
rtpbin: small cleanup.
2010-09-13 16:25:42 +02:00
Wim Taymans
d541f5e24d
rtpsession: Small cleanups
...
Make the property description prettier.
Actually multiple the bandwidth with the fraction.
2010-09-13 15:51:20 +02:00
Olivier Crête
1f17b334ff
rtpsession: Calculate RTCP bandwidth as a fraction of the RTP bandwidth
...
Calculate the RTCP bandwidth to be a fraction of the RTP bandwidth if it is
specified as a value between 0 and 1.
2010-09-13 15:51:20 +02:00
Wim Taymans
8381d9788d
session: improve bandwidth recalculation
...
Also recalculate bandwidth when one of the source bandwidths changed.
Use the newly calculated bandwidth.
2010-09-13 15:51:20 +02:00
Olivier Crête
6f53a2b240
rtpsession: Add the option to auto-discover the RTP bandwidth
2010-09-13 15:51:19 +02:00
Thijs Vermeir
f38e37470a
rtpbin: set use-pipeline-clock on correct GObject
2010-09-13 14:39:51 +02:00
Olivier Crête
94e87ef8ee
rtpsession: Initialise the average scaled by 16
2010-09-13 13:10:19 +02:00
Wim Taymans
e6db74764b
rtpsession: add running_time argument docs
2010-09-13 12:41:56 +02:00
Olivier Crête
00fd89c074
rtpstats: Rectify description of current_time in RTPArrivalStats
...
It is the current time, it is unrelated to when the packet was actually received.
2010-09-13 12:37:01 +02:00
Wim Taymans
cb6de429a0
rtpsession: compute the average correctly scaled
2010-09-13 12:31:40 +02:00
Olivier Crête
64e4ffa25b
rtpsession: Count sent RTCP packets after they have been finished
...
If they are counted before calling gst_rtcp_buffer_end(), then the
size is way too big.
2010-09-13 12:13:23 +02:00
Olivier Crête
306ee454c6
gstrtpsession: Don't unref pads in finalize
...
The gstrtpsession object is not holding any reference to them directly
2010-09-13 12:10:11 +02:00