Youness Alaoui
a95ab4b29e
Add vmethod for rtsp-media subclass to access rtpbin
2013-08-02 16:59:04 +02:00
Wim Taymans
6ac547cc34
media: add docs for new method
2013-08-02 16:57:26 +02:00
Youness Alaoui
050b16ad84
Add API to rtsp-media set the pipeline's state
2013-08-02 16:53:07 +02:00
Youness Alaoui
5e642c7ef1
Update current position/duration when gst_rtsp_media_get_range_string is called
2013-08-02 16:51:15 +02: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
ccceb1de11
docs: update docs
2013-07-11 12:18:26 +02:00
Wim Taymans
d1e4baab6c
media: Accept a thread in _prepare
...
Remove out own threadpool handling and use the provided thread and
maincontext for the bus messages and the state changes.
2013-07-10 17:08:14 +02:00
Wim Taymans
c4c9c873b8
media: start media pipeline in context
...
Start the media pipeline in the provided context (or our default one
when NULL). This makes sure that we run the bus thread in this context and that
all media threads are children of this context.
2013-07-09 20:44:51 +02:00
Wim Taymans
0499a1ec7d
media: make it possible to set permissions
...
Make it possible to set permissions on media and media factory objects
2013-07-09 14:33:43 +02:00
Wim Taymans
12583e819c
media: add optional context for bus messages
...
Add an optional mainloop to _prepare that will handle the bus messages instead
of always using the shared mainloop.
2013-07-08 11:10:20 +02:00
Wim Taymans
19cffc7999
auth: remove auth from media and factory
...
Remove the auth object from media and factory. We want to have the RTSPClient
authenticate and authorize resources, there is no need to place another auth
manager on the media/factory.
2013-07-05 20:53:19 +02:00
Wim Taymans
3999bd4e4e
media: add method to find a stream by control url
2013-07-03 15:14:39 +02:00
Ognyan Tonchev
cd4120ef26
rtsp-media: Do not leak the query in default_query_stop
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703120
2013-06-26 15:42:01 +02:00
Wim Taymans
81c3843ad1
media: don't unlock when conversion fails
...
Don't unlock the state lock when conversion fails because it was not locked.
2013-06-25 15:46:41 +02:00
Youness Alaoui
0b94f50eab
Add query_position and query_stop vmethods to rtsp-media
2013-06-25 15:23:36 +02:00
Youness Alaoui
842f5ad9c4
Fix typo in property install for rtsp-media's time-provider
2013-06-25 15:12:36 +02:00
Wim Taymans
aab1198516
media: add _get_element() method
...
Add method to get the element used when creating the media.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703008
2013-06-24 23:56:57 +02:00
Wim Taymans
6d69a4ae80
media: fix docs
2013-06-24 23:51:38 +02:00
Wim Taymans
23ec78faea
media: handle segment query format mismatch
...
It's possible that the segment query returns with a different format than what
we asked for, handle this case also.
2013-06-20 11:14:31 +02:00
David Svensson Fors
52eb796bec
media: use segment stop in collect_media_stats
...
Use segment stop instead of duration as range end point.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701185
2013-06-20 10:17:32 +02:00
Ognyan Tonchev
d9e245e62e
rtsp-media: Do not leak the element in take_pipeline
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702470
2013-06-17 17:18:40 +02:00
David Svensson Fors
6151072a2e
media: convert_range replaces get_range_times
...
get_range_times worked for handling UTC ranges for seeks, but we also
need to convert back from NPT to the requested unit in
get_range_string. convert_range is now used for both.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702084
2013-06-14 16:11:34 +02:00
David Svensson Fors
7efa871c1f
media: possibility to override range time conversion
...
Make it possible to override the conversion from GstRTSPTimeRange to
GstClockTimes, that is done before seeking on the media
pipeline. Overriding can be useful for UTC ranges, where the default
conversion gives nanoseconds since 1900.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701191
2013-06-03 14:29:05 +02:00
Wim Taymans
573b10bc83
media: release lock when removing fakesink
2013-04-23 10:28:35 +02:00
Wim Taymans
b80b8824be
media: listen to pad-removed signals
...
Listen to the pad-removed signal and remove the stream associated with the
removed pad.
Add signal to be notified of the removed pad.
Remove the fakesink in unprepare()
Fix signatures of the signal methods
2013-04-22 17:34:37 +02:00
Ognyan Tonchev
a26b06cc69
media: disconnect from signal handlers in unprepare()
...
We connected to the pad-added and no-more-pads signals in prepare() so
we need to disconnect from them in unprepare().
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
2013-04-22 16:40:48 +02:00
Ognyan Tonchev
9b31fcc7f8
media: don't free streams array
...
Don't free the streams array in the unprepare() method, they were not
added in prepare().
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
2013-04-22 16:25:17 +02:00
Ognyan Tonchev
0bdff0161c
media: don't unref the pipeline in unprepare
...
Unprepare() should undo what prepare() does. Because the pipeline is
not created in prepare(), we should not unref it in unprepare()
2013-04-22 16:19:35 +02:00
Wim Taymans
a64cb68164
media: add method to get the base_time of the pipeline
...
Together with a shared clock, this base-time could eventually be sent to
the client so that it can reconstruct the exact running-time of the clock
on the server.
2013-04-12 11:34:38 +01:00
Wim Taymans
36ff679558
media: add GstNetTimeProvider support
...
Add a property to let the media provide a GstNetTimeProvider for its clock.
Make methods to get the clock and nettimeprovider
Add a x-gst-clock property to the SDP with the IP and port number of the nettime
provider and also the current time of the clock. This should make it possible
for (GStreamer) clients to slave their clock to the server clock.
2013-04-09 22:38:44 +02:00
Wim Taymans
95bf53513f
media: wait for buffering to complete
...
Wait for buffering to complete before changing the state to the target state.
2013-04-09 20:39:58 +02:00
Wim Taymans
ec0718d7c9
media: small cleanup
2013-04-09 20:11:35 +02:00
Olivier Crête
c18eafbb24
rtsp-media/client: Reply to PLAY request with same type of Range
...
Remember the type of Range from the PLAY request and use the same type for
the reply.
2013-03-22 15:53:06 +01:00
Olivier Crête
b9d111372e
Document locking and its order
2013-03-11 11:07:19 +01:00
Ognyan Tonchev
0844e8afbc
rtsp-media: Make the element a constructor parameter
...
https://bugzilla.gnome.org/show_bug.cgi?id=689594
2012-12-10 10:25:57 +01:00
Wim Taymans
6beabf1ed4
media: match prepare with unprepare
...
Really unprepare when there were an equal amount of prepare calls.
2012-11-30 15:03:15 +01:00
Wim Taymans
ca26588c7e
media: media has to be unprepared in finalize
...
Because unprepare takes away the last ref on the media.
2012-11-30 14:58:46 +01:00
Wim Taymans
119674a828
media: let the source unref the last media ref
...
the last ref to the media is held by the source so we don't need to add more ref
and unrefs, we simply destroy the media when the source is gone.
2012-11-30 13:35:05 +01:00
Wim Taymans
339ea9b085
media: improve debug
2012-11-30 12:54:10 +01:00
Wim Taymans
241baba20a
media: check state
...
Make sure we are in the right state when collecting the position and duration.
Only make ourselves PREPARED when we were previously PREPARING.
2012-11-30 12:53:02 +01:00
Wim Taymans
edf2ef4f0b
media: use g_object_ref/unref for GObjects
2012-11-30 10:05:48 +01:00
Alessandro Decina
00d9a94e1a
Fix compiler warning
2012-11-30 06:17:46 +01:00
Wim Taymans
28fd887547
media: avoid element leak
2012-11-29 17:20:56 +01:00
Wim Taymans
4eb010824e
media: require an element in media constructor
2012-11-29 17:20:26 +01: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
e11287eb7c
media: check if prepared for some methods
...
Check that the media object is prepared before doing seek and getting the
current position etc.
Add some g_return checks.
2012-11-28 14:45:30 +01:00
Wim Taymans
fe71114a7d
media: unref pipeline in finalize to avoid leaking it
2012-11-28 12:39:37 +01:00
Wim Taymans
d43a31055e
rtsp: use gst_object_unref on GstObjects
2012-11-28 12:10:47 +01:00
Wim Taymans
0f93879b2c
media: fix seeking
2012-11-21 17:21:28 +01:00
Wim Taymans
5eb5fd45f3
media: support more Range formats
...
Use the new -base methods to convert the Range string into a seek start and stop
value.
2012-11-21 16:41:56 +01:00
Wim Taymans
989f004e24
media: unref source in finish_unprepare
...
The source is created in prepare, unref it in finish_unprepare.
See https://bugzilla.gnome.org/show_bug.cgi?id=688707
2012-11-20 09:46:40 +01:00
David Svensson Fors
01973c924d
rtsp-media: remove bus watch before finalizing
...
* A GDestroyNotify function is set for the bus watch in gst_rtsp_media_prepare.
* An extra media ref is added for the bus watch. This extra ref is unreffed by
the GDestroyNotify function.
* gst_rtsp_media_unprepare destroys the source so the bus watch is removed.
* GstRTSPClient, which calls gst_rtsp_media_prepare, also calls
gst_rtsp_media_unprepare before unreffing the media.
This way, the bus watch will be removed before the media is finalized.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688707
2012-11-20 09:46:00 +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
ba21661ce4
rtsp: improve debug
2012-11-15 16:15:20 +01:00
Wim Taymans
c34f5d1c1a
media: add signal for new streams
...
This allows applications to listen for new streams and configure properties on
them, like the address pool.
2012-11-15 15:41:42 +01:00
Wim Taymans
4168a67992
media: configure address pool in new streams
2012-11-15 15:41:19 +01:00
Wim Taymans
1b4ac6e5b0
media: remove MTU property
...
It is a stream property
2012-11-15 15:32:43 +01:00
Wim Taymans
f15ffb521c
rtsp: use AddressPool
...
Remove the multicast_group property.
Use the configured addresspool to allocate multicast addresses.
2012-11-14 17:23:59 +01:00
Wim Taymans
dfe3efef74
media: wait for concurrent _prepare
...
If a prepare is busy, wait for the result.
2012-11-13 11:54:17 +01:00
Wim Taymans
47127bd270
media: add lock around message handler
...
We don't want to dispatch messages while we are still processing the result of
the state change.
2012-11-13 11:49:08 +01:00
Wim Taymans
9a97de88ea
media: add lock to protect state changes
2012-11-13 11:15:35 +01:00
Tim-Philipp Müller
4dba434f16
Fix FSF address
2012-11-04 00:14:25 +00:00
Sebastian Pölsterl
75598337a9
rtsp-server: added annotations to indicate type of ownership transfer of return values
...
https://bugzilla.gnome.org/show_bug.cgi?id=680777
2012-10-28 15:39:04 +00:00
Wim Taymans
0bb0e3733c
small fixes to docs and debug
2012-10-27 11:53:51 +02:00
Wim Taymans
6f7d755894
stream: improve join and leave of the pipeline
...
simplify code
Do the cleanup properly
Add some docs
2012-10-26 17:28:10 +02:00
Wim Taymans
693dd3cfc4
media: move unprepare below default implementation
...
Makes it easier to find the default implementation
2012-10-26 15:23:16 +02:00
Wim Taymans
0d55e1f50c
media: signal unprepared when we actually finish
2012-10-26 15:21:50 +02:00
Wim Taymans
84b7cf1590
media: no need to unlock, unprepare does that when needed
2012-10-26 15:19:23 +02:00
Wim Taymans
6b7ff45ca6
rtsp: fix MTU setting
...
Fix setting of the MTU. There is no need for a vmethod.
2012-10-26 12:35:20 +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
Sebastian Pölsterl
e11e855ac8
rtsp-server: fixed comments and GIR annotations
...
https://bugzilla.gnome.org/show_bug.cgi?id=680777
2012-10-18 19:17:01 +01:00
Ognyan Tonchev
d581b7bd4e
client: Use client transport settings for multicast if allowed.
...
This patch makes it possible for the client to send transport settings for
multicast (destination && ttl). Client settings must be explicitly allowed or
the server will use its own settings.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685561
2012-10-10 11:07:59 +02:00
Ognyan Tonchev
f4a0a371b7
media: fix check for seekability
2012-09-10 16:29:35 +02:00
Aleix Conchillo Flaque
c6cce4a6b9
rtsp-media: also initialize transports in on_ssrc_active (bug #683304 )
...
* gst/rtsp-server/rtsp-media.c: GstRTSPMediaStream transports might not
be available in "on_new_ssrc". The transports are added in
gst_rtsp_media_set_state when going to PLAYING state. However,
"on_new_ssrc" might be called before this happens.
https://bugzilla.gnome.org/show_bug.cgi?id=683304
2012-09-07 16:45:17 +02:00
Ognyan Tonchev
86e53af34a
rtsp: Handle the blocksize parameter
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679325
2012-07-10 11:26:01 +02:00
Tim-Philipp Müller
217a46e4c1
rtsp-media: update for gst_element_make_from_uri() changes
2012-06-23 15:06:11 +01:00
David Svensson Fors
36df0dd8be
rtsp-media: don't collect media stats when going to NULL
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678015
2012-06-14 10:14:06 +02:00
Wim Taymans
6cc2fb9bfc
rtsp-server: port to new thread API
2012-05-11 09:42:47 +02:00
Wim Taymans
e0be150e91
media: fix state of the appqueue
2012-03-13 18:10:53 +01:00
Wim Taymans
4c59e211e2
rtsp-server: port to GIO
...
Port to GIO
2012-03-07 15:04:29 +01:00
Wim Taymans
fde25cd9c3
rtsp-server: port some more to 0.11
...
Fix caps.
Remove bufferlist stuff
Update for new API.
Add queue before appsink now that preroll-queue-len is gone.
Update for request pad changes.
2011-12-09 10:53:30 +01:00
Wim Taymans
bace3995d5
Merge branch 'master' into 0.11
2011-11-03 12:58:42 +01:00
Wim Taymans
a701e8595e
media: add a seekable boolean
...
Maintain the seekable state with a new variable instead of reusing the
is_live variable.
2011-11-03 12:55:24 +01:00
Victor Gottardi
526bbb5a8f
Disallow seek in live media
2011-11-03 12:45:18 +01:00
Wim Taymans
c079325169
media: add property for multicast group
...
Add a property to configure the multicast group in the media.
Based on patches from Marc Leeman and Robert Krakora.
2011-08-16 14:50:05 +02:00
Wim Taymans
5b53335873
media: add property for multicast group
...
Add a property to configure the multicast group in the media.
Based on patches from Marc Leeman and Robert Krakora.
2011-08-16 13:25:16 +02:00
Wim Taymans
b5aa7628bf
Merge branch 'master' into 0.11
2011-08-16 11:12:33 +02:00
Wim Taymans
bbab01747d
media: use new api
2011-08-04 08:59:17 +02:00
Thijs Vermeir
93fb73b46f
fix compiler warnings about unused variables
2011-07-20 17:16:42 +02:00
Wim Taymans
80e0b0b19a
media: port to new caps API
2011-05-17 09:48:13 +02:00
Wim Taymans
914b481e42
rtsp-server: port to 0.11
2011-04-26 19:22:50 +02:00
Wim Taymans
6959ebd8e8
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
2011-04-26 19:07:13 +02:00
Wim Taymans
a924e90c79
media: remove more unused code
2011-02-02 15:37:03 +01:00
Wim Taymans
ec2201a3a8
media: remove duplicate filtering
...
Remove the duplicate filtering code now that we have a released -good version.
Give a warning instead.
2011-02-02 15:30:45 +01:00
Wim Taymans
8477fdbf43
media: fix default buffer size
2011-01-31 17:38:47 +01:00
Wim Taymans
88b4c02dff
media: add property to configure kernel buffer sizes
...
Add a property to configure the kernel UDP buffer size.
2011-01-31 17:37:41 +01:00
Wim Taymans
44b418b346
media: init debug category before starting thread
2011-01-13 18:57:15 +01:00
Wim Taymans
9e97faf2db
server: improve debugging in various objects
2011-01-12 18:14:48 +01:00
Wim Taymans
7797023fda
media: enable per factory authorisations
...
Allow for adding a GstRTSPAuth on the factory and media level and check
permissions when accessing the factory.
Add hints to the auth methods for future more fine grained authorisation.
Add example application for per factory authentication.
2011-01-12 13:57:09 +01:00