GNOME Bugzilla – Bug 721817
renderer-gst : Support +dlna virtual protocol
Last modified: 2014-06-14 14:35:02 UTC
Created attachment 265739 [details] [review] Support for virtual protocol(+dlna) This change will allow to use gst-dlnasrc when it is available in gst-plugins-bad. Prefix "dlna+" so that GstDlnaSrc plugin source will be used if available. gst-plugins-bad should have this "dlna+" virtual protocol change, otherwise play() will not work.
And what happens if the dlnasrc plugin is not available?
Playing any content will result in just black screen. Now dlnasrc plugin feature is part of gst-plugins-bad, this change will not affect if you are using CableLabs's gst-plugins-bad. Otherwise issuing play() operation will result in just black screen. There is a plan submitting Cablelabs's gst-plugins-bad changes into upstream.
Well. Can't do that then without proper fall-back. We should not introduce regressions.
Created attachment 267675 [details] [review] Add support for virtual protocol (+dlna)
@Jens: The logic has been added to handle to alternate case when dlnasrc is not available. Please let us know your comments.
Created attachment 267676 [details] [review] Add support for virtual protocol (+dlna) Corrected style in the new patch
Review of attachment 267676 [details] [review]: ::: src/librygel-renderer-gst/rygel-playbin-player.vala @@ +210,3 @@ + debug ("Setting default URI since dlna+ prefix failed"); + this.playbin.uri = value; + /* Add dlna+ protocol since it is supported. */ Maybe using gst_uri_protocol_is_supported is something more "lightweight" than creating an element? Though it says that actual element creation isn't guaranteed to succeed. Also, couldn't we just check this on plugin startup once?
Thanks for your comments. Yes went down that path too. gst_uri_protocol_is_supported() always returned false no matter what. So used this as alternate which tends to returns the correct result all the time. I will also try to get it checked when the plugin is starting up.
Ok, if it doesn't work it's of no use, of course.
Created attachment 272520 [details] [review] renderer-gst: Use dlna+http[s] virtual protocol If the dlnasrc element is available, we try to use it for http and https protocols using it's virtual dlna+ protocol prefix. Signed-off-by: Jens Georg <mail@jensge.org> This patch also applies the dlna virtual protocol to http-like transports since we might support other transport protocols as well.
Created attachment 272523 [details] [review] renderer-gst: Use dlna+http[s] virtual protocol If the dlnasrc element is available, we try to use it for http and https protocols using it's virtual dlna+ protocol prefix. Signed-off-by: Jens Georg <mail@jensge.org>
Attachment 272523 [details] pushed as 47fb964 - renderer-gst: Use dlna+http[s] virtual protocol