Commit graph

918 commits

Author SHA1 Message Date
Wim Taymans
450b9d0a14 media: only set keyframe flag when modifying start
Only set the keyframe flag when we modify the start position. The
keyframe flag should probably be ignored when no change is requested but
until we can claim this is all documented properly and all demuxer
implement this, avoid setting the flag.

See also https://bugzilla.gnome.org/show_bug.cgi?id=723075
2014-02-06 09:48:05 +01:00
Ognyan Tonchev
b1845b0864 thread-pool: Unref source after mainloop has quit to avoid races in GLib
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723741
2014-02-06 09:26:39 +01:00
Wim Taymans
9048d87ff4 stream: handle NULL seqnum and rtptime arguments 2014-02-04 16:28:00 +01:00
Ognyan Tonchev
274d4b017f thread-pool: Unref reused threads in gst_rtsp_thread_stop()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723519
2014-02-04 14:47:49 +01:00
Wim Taymans
71c45fce5a stream: add fallback for missing stats property
Use a fallback when the payloader does not have a stats property

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723554
2014-02-04 10:14:45 +01:00
Edward Hervey
f9355e5481 Automatic update of common submodule
From f7bc1c3 to 1a07da9
2014-01-30 10:45:56 +01:00
Wim Taymans
036f2760bf stream: don't leak stats structure
Don't leak the stats structure and deal with NULL stats.
2014-01-28 14:51:26 +01:00
Sebastian Rasmussen
7edaa6ca20 stream: Get rtpinfo properties atomically from payloader
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722844
2014-01-27 15:19:30 +01:00
Wim Taymans
e04d9ac34d media: refactor state change functions and signals
Make functions to set the target state and the pipeline state and emit
the signals from those functions.
2014-01-21 14:46:47 +01:00
Ognyan Tonchev
5eca958d5e media: add signal to notify of pending state changes 2014-01-21 14:25:42 +01:00
Tim-Philipp Müller
099a10f61f rtsp-server: support build against last stable release
Until 1.2.3 is out with the new get_type function and we
can require that.
2014-01-12 16:55:21 +00:00
Wim Taymans
d90ce618e4 stream: fix compilation 2014-01-07 15:28:05 +01:00
Wim Taymans
ae1fe21436 stream: add property to configure profiles 2014-01-07 12:39:58 +01:00
Wim Taymans
78c6648c96 client: let stream check supported transport
Delegate the check if a transport is allowed to the stream.

See https://bugzilla.gnome.org/show_bug.cgi?id=720696
2014-01-07 12:39:57 +01:00
Wim Taymans
a1202effda stream: add method to check supported transport
Add a method to check if a transport is supported
2014-01-07 12:39:57 +01:00
Sebastian Dröge
43ec4e7c78 configure.ac: Only check for gstreamer-check, not check
We include check in gstreamer-check since quite some time now.
2013-12-27 13:11:45 +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
Aleix Conchillo Flaqué
dd4c04f1b8 mount-points: sort sequence before g_sequence_lookup
* gst/rtsp-server/rtsp-mount-points.c (gst_rtsp_mount_points_remove_factory):
  sort sequence if dirty, otherwise lookup will fail.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720855
2013-12-26 10:36:48 +01:00
Tim-Philipp Müller
2b8a972dae configure: rename package from gst-rtsp to gst-rtsp-server
To match git module name and avoid confusion with the
rtsp lib in gst-plugins-base and rtsp plugin in -good.
2013-12-22 23:16:56 +00:00
Tim-Philipp Müller
45bb30d148 configure: bump core/base/good requirement to 1.2.0
Bump to released stable version and make implicit
requirements explicit.
2013-12-22 23:15:02 +00:00
Tim-Philipp Müller
de30acfd3d Fix broken gettext setup which is not used anyway 2013-12-22 23:10:56 +00:00
Tim-Philipp Müller
d2e199ed12 Automatic update of common submodule
From dbedaa0 to d48bed3
2013-12-22 22:36:06 +00:00
Aleix Conchillo Flaqué
3fdae13fb7 media: add setup_sdp vmethod
gst/rtsp-server/rtsp-media.[ch]: added setup_sdp vmethod and public
gst_rtsp_media_setup_sdp.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720155
2013-12-19 15:10:30 +01:00
Edward Hervey
cdd72905af rtsp-stream: Check return value of sscanf
streamid is only valid if sscanf matched something.
2013-12-19 14:26:34 +01:00
Edward Hervey
d3237dc9dc rtsp-client: Fix iteration
Wouldn't even enter the code block otherwise (i++ was used as the check
and not the postfix).
2013-12-19 14:24:54 +01:00
Wim Taymans
7a947e8dfe client: add vmethod to configure media and streams
Implement a vmethod that can be used to configure the media and the
streams based on the current context. Handle the blocksize handling in
the default handler.

See https://bugzilla.gnome.org/show_bug.cgi?id=720667
2013-12-18 15:57:03 +01:00
Tim-Philipp Müller
2c08b5b529 Make git ignore more unit test binaries 2013-12-12 00:38:07 +00:00
Tim-Philipp Müller
91fac8eb29 rtsp-server: add padding to many public structures
Not mini objects though, since they are not subclassable
anyway, nor kept on the stack or inlined in a structure.
2013-12-12 00:36:07 +00:00
Aleix Conchillo Flaqué
ab3651d339 media: add new create_rtpbin vmethod
* gst/rtsp-server/rtsp-media.[ch]: add new create_rtpbin vmethod.

  https://bugzilla.gnome.org/show_bug.cgi?id=719734
2013-12-09 17:14:26 +01:00
Sebastian Rasmussen
26f215ac36 tests: fix memory leak, free test's thread pool
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719733
2013-12-03 00:05:17 +00:00
Wim Taymans
9473fa0d2c stream-transport: free url in finalize 2013-11-29 15:50:52 +01:00
Ognyan Tonchev
3b4894c4f1 media: also do state change in suspended state 2013-11-29 15:50:23 +01:00
Wim Taymans
53859ac34b media: also handle prepare and range in suspended state
When we are suspended, we are already prepared.
We can get the range in the suspended state.
2013-11-29 10:53:08 +01:00
Branko Subasic
b16b47f68d check: add test for uri in setup
Added unit tests for the new functionality in GstRTSPStreamTransport.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=715168
2013-11-28 18:01:55 +01:00
Wim Taymans
421499c102 client: store setup uri and use in PLAY response
Store the uri used when doing the setup and use that in the PLAY
response.

fixes https://bugzilla.gnome.org/show_bug.cgi?id=715168
2013-11-28 17:47:18 +01:00
Wim Taymans
568477d9b5 stream-transport: add method to get/set url 2013-11-28 17:35:45 +01:00
Wim Taymans
b1e8172ef3 client: suspend after SDP and unsuspend before PLAYING
Based on patches by Ognyan Tonchev <ognyan@axis.com>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:40 +01:00
Wim Taymans
2f17369e9d media: add suspend modes
Add support for different suspend modes. The stream is suspended right after
producing the SDP and after PAUSE. Different suspend modes are available that
affect the state of the pipeline. NONE leaves the pipeline state unchanged and
is the current and old behaviour, PAUSE will set the pipeline to the PAUSED
state and RESET will bring the pipeline to the NULL state.
A stream is also unsuspended when it goes back to PLAYING, for RESET streams,
this means that the pipeline needs to be prerolled again.

Base on patches by Ognyan Tonchev <ognyan@axis.com>

See https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:39 +01:00
Wim Taymans
db771c5167 media: start live streams in blocked state
Start live streams in the blocked state and make them preroll using the
messages. This ensure that no data is played by the sink until we explicitly
unblock the stream right before going to PLAYING.

See https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:39 +01:00
Wim Taymans
6ce48c51a2 media: refactor starting and waiting for preroll
Based on patches from Ognyan Tonchev <ognyan@axis.com>

See https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:39 +01:00
Wim Taymans
bdef631218 stream: add API to block streams
Add an API to block on the streams and make it post a message.

Based on patch by Ognyan Tonchev <ognyan@axis.com>

See https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:39 +01:00
Edward Hervey
1b0bf529d5 docs: Specify the override file
Even if it's empty (for now) it avoids make distcheck complaining
2013-11-27 15:42:45 +01:00
Wim Taymans
b3baa2801d media: move default implementations to where they are used 2013-11-26 17:23:04 +01:00
Wim Taymans
b8ae2570d9 media: take the right lock in gst_rtsp_media_set_pipeline_state()
We need to take the state_lock when calling this method.
2013-11-26 16:25:37 +01:00
Wim Taymans
9da7b5eeb5 media: handle add-added on non-bins too
Handle dynamic payloaders that are not bins, as used in the unit-test.
2013-11-26 16:24:35 +01:00
Sebastian Rasmussen
1ebc2c703e rtsp-media/-factory: Fix request pad name comments
These must be escaped for gtk-doc to parse the comments without warnings.
2013-11-22 11:53:04 +01:00
Aleix Conchillo Flaque
b6d4a29d75 rtsp-media: remove transports if media is in error status
* gst/rtsp-server/rtsp-media.c (gst_rtsp_media_set_state): if we are
  trying to change to GST_STATE_NULL and media is in error status, we
  remove all transports.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712776
2013-11-22 11:25:15 +01:00