Commit graph

24 commits

Author SHA1 Message Date
Göran Jönsson
058698c9cf rtsp: Ref transports in hash table.
Also ref streams for transports.
This solves a crash when reciving a rtcp after teardown but before
client finalize.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740845
2014-12-02 16:29:24 +01:00
Branko Subasic
2218510cae rtsp-*: Treat sending packets to clients as keepalive
As long as gst-rtsp-server can successfully send RTP/RTCP data to
clients then the client must be reading. This change makes the server
timeout the connection if the client stops reading.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736647
2014-09-24 10:37:59 +03:00
Wim Taymans
ea5d4cfc7e stream-transport: make method to handle received data
Make a method to handle the data received on a channel. It sends the
data to the stream of the transport on the RTP or RTCP pads based on
the channel number.
2014-09-16 10:45:20 +02:00
Evan Nemerson
34e6ac3b9f introspection: add (nullable) annotations to return values
https://bugzilla.gnome.org/show_bug.cgi?id=730952
2014-06-26 19:08:16 +02:00
Sebastian Rasmussen
b1b5301577 gobject-introspection: Add annotations to support language bindings
In addition a few cosmetic changes:

 * Adjust the order of arguments
 * Fix typo: occured -> occurred
 * Fix indentation after Return:-clauses

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726941
2014-03-24 00:36:42 +00:00
Wim Taymans
8bd53dcf9c session: improve RTP-Info
Ignore streams that can't generate RTP-Info instead of failing.
Don't return the empty string when all streams are unconfigured but
return NULL so that we don't generate and empty RTP-Info header.
Improve docs a little.
2014-02-07 16:39:49 +01:00
Wim Taymans
8aaa432d58 stream: return clock-rate from get_rtpinfo
And use it to correct the rtptime to the requested start-time.

See https://bugzilla.gnome.org/show_bug.cgi?id=712198
2013-12-26 17:14:06 +01:00
Wim Taymans
037e21b578 session-media: calculate start-time 2013-12-26 16:29:39 +01:00
Wim Taymans
cfdc7408b5 stream: also return the running-time
Return the running-time in the rtpinfo as well.
2013-12-26 16:29:39 +01:00
Wim Taymans
4ca0b23a3f session-media: let the session-media make the RTPInfo
Add method to create the RTPInfo for a stream-transport.
Add method to create the RTPInfo for all stream-transports in a
session-media.
Use the session-media RTPInfo code in client. This allows us to refactor
another method to link the TCP callbacks.
2013-12-26 16:29:38 +01:00
Wim Taymans
9473fa0d2c stream-transport: free url in finalize 2013-11-29 15:50:52 +01:00
Wim Taymans
568477d9b5 stream-transport: add method to get/set url 2013-11-28 17:35:45 +01:00
Wim Taymans
041b1b79a1 docs: improve docs 2013-07-16 12:32:51 +02:00
Wim Taymans
0b3644a21b docs: improve docs 2013-07-11 16:57:14 +02:00
Wim Taymans
5b6cbb4ede stream-transport: remove old if 0 block 2013-07-01 12:04:45 +02:00
Wim Taymans
ad00c5e792 rtsp: make object details private
Make all object details private
Add methods to access private bits
2012-11-29 11:11:05 +01:00
Wim Taymans
e4ea72ccdf stream: use the address managed by the stream
Use the address managed by the stream for multicast. This allows us to have 1
multicast address for each stream.
Because the address is now managed by the stream we don't have to pass it around
anymore.
Set the address pool on the streams.
2012-11-15 16:18:29 +01:00
Wim Taymans
45b6693b39 rtsp: make address-pool return an address object
Return a boxed GstRTSPAddress from the GstRTSPAddressPool. This allows us to
store more info in the structure and allows us to more easily return the address
to the right pool when no longer needed.
Pass the address to the StreamTransport so that we can return it to the pool
when the stream transport is freed or changed.
2012-11-15 13:25:14 +01:00
Wim Taymans
c7d20e5603 stream-transport: add keep-alive method 2012-11-12 17:11:18 +01:00
Wim Taymans
75473fc88d stream-transport: add method to handle RTP/RTCP
Call new methods instead of poking into the structures directly.
2012-11-12 17:06:42 +01:00
Tim-Philipp Müller
4dba434f16 Fix FSF address 2012-11-04 00:14:25 +00:00
Wim Taymans
543aa383e7 rtsp: only create transport when needed
Only create the StreamTransport when configured.
2012-10-28 00:23:57 +02:00
Wim Taymans
fb117a4f75 rtsp: refactor configuration of transport
Move the configuration of the transport to a place where it makes
more sense.
2012-10-27 23:49:24 +02:00
Wim Taymans
de7c72dec2 rtsp: massive refactoring
Make GObjects from the remaining simple structures.
Remove GstRTSPSessionStream, it's not needed.
Rename GstRTSPMediaStream -> GstRTSPStream: It is shorter
Rename GstRTSPMediaTrans -> GstRTSPStreamTransport: It describes how
  a GstRTSPStream should be transported to a client.
Rename GstRTSPMediaFactory::get_element -> create_element because that
  more accurately describes what it does.
Make nice methods instead of poking in the structures.
Move some methods inside the relevant object source code.
Use GPtrArray to store objects instead of plain arrays, it is more
  natural and allows us to more easily clean up.
Move the allocation of udp ports to the Stream object. The Stream object
  contains the elements needed to stream the media to a client.
Improve the prepare and unprepare methods. Unprepare should now undo
  everything prepare did. Improve also async unprepare when doing EOS on
  shutdown. Make sure we always unprepare correctly.
2012-10-25 21:29:58 +02:00