After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 721817 - renderer-gst : Support +dlna virtual protocol
renderer-gst : Support +dlna virtual protocol
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: librygel-renderer
git master
Other Linux
: Normal normal
: ---
Assigned To: rygel-maint
rygel-maint
Depends on:
Blocks:
 
 
Reported: 2014-01-08 18:55 UTC by Parthiban Balasubramanian
Modified: 2014-06-14 14:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Support for virtual protocol(+dlna) (1.22 KB, patch)
2014-01-08 18:55 UTC, Parthiban Balasubramanian
none Details | Review
Add support for virtual protocol (+dlna) (1.79 KB, patch)
2014-01-30 21:03 UTC, Parthiban Balasubramanian
none Details | Review
Add support for virtual protocol (+dlna) (1.79 KB, patch)
2014-01-30 21:07 UTC, Parthiban Balasubramanian
needs-work Details | Review
renderer-gst: Use dlna+http[s] virtual protocol (2.02 KB, patch)
2014-03-20 21:21 UTC, Jens Georg
none Details | Review
renderer-gst: Use dlna+http[s] virtual protocol (1.93 KB, patch)
2014-03-20 21:49 UTC, Jens Georg
committed Details | Review

Description Parthiban Balasubramanian 2014-01-08 18:55:37 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.
Comment 1 Jens Georg 2014-01-09 08:04:29 UTC
And what happens if the dlnasrc plugin is not available?
Comment 2 Siva 2014-01-14 04:37:08 UTC
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.
Comment 3 Jens Georg 2014-01-14 07:40:25 UTC
Well. Can't do that then without proper fall-back. We should not introduce regressions.
Comment 4 Parthiban Balasubramanian 2014-01-30 21:03:34 UTC
Created attachment 267675 [details] [review]
Add support for virtual protocol (+dlna)
Comment 5 Parthiban Balasubramanian 2014-01-30 21:04:57 UTC
@Jens: The logic has been added to handle to alternate case when dlnasrc is not available. Please let us know your comments.
Comment 6 Parthiban Balasubramanian 2014-01-30 21:07:27 UTC
Created attachment 267676 [details] [review]
Add support for virtual protocol (+dlna)

Corrected style in the new patch
Comment 7 Jens Georg 2014-01-31 22:43:20 UTC
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?
Comment 8 Parthiban Balasubramanian 2014-02-01 16:21:44 UTC
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.
Comment 9 Jens Georg 2014-02-02 09:25:48 UTC
Ok, if it doesn't work it's of no use, of course.
Comment 10 Jens Georg 2014-03-20 21:21:32 UTC
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.
Comment 11 Jens Georg 2014-03-20 21:49:02 UTC
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>
Comment 12 Jens Georg 2014-06-14 14:34:57 UTC
Attachment 272523 [details] pushed as 47fb964 - renderer-gst: Use dlna+http[s] virtual protocol