Long time no blog. Sorry about that. Things have gotten a bit busy since I changed jobs in Nov 2013, moving along to the crazy and sometimes insane world of automotive in general and IVI in special. Due to that and a rather unpleasant commute, things in Rygel land have gotten a tad more silent then I hoped, not revolutionary, maybe not even evolutionary. For example, there’s still no ACL support as I promised way back on GNOME.Asia 2013.
I will have to skip FOSDEM this year for several reasons, sorry about that.
For Rygel, I hope to finish the integration of (most of) Cablelab’s changes for their CVP-2 work as they will allow nice and long requested features such as pre-transcoding or transcode caching, server-side trickmodes, simple device-dependent resource reorder (for devices that are too stupid to pick the proper resource). Unfortunately I have found a rather large feature regression with upload that seems to turn out to be somewhat nasty to fix.
That’s all for now.
7 thoughts on “Things 'n' stuff”
Comments are closed.
Hi,
I’m looking for a player for this dLeyna-server client. My first thought was gstreamer but I’m not sure if it would be certifiable so looking for the answer I found this in murrayc’s blog: “With some work, this could let a GStreamer-based media player become a DLNA Player, able to play video, music, or pictures from DLNA Servers. We believe it could achieve DLNA certification as a Player”.
Furthermore it mentions this was partially made by you! If I understood well, I only need to integrate librygel-core alone (as I only want Player capabilities -DMP-, not DMR). Is this correct?
If so, how far is the core to be certifiable? Taking in consideration media formats are covered, dleyna-server is “pre-certified” and Drop transferMode.dlna.org header patch is integrated.
Thanks and regards!
Mh. I think I missed the Player/Renderer confusion in that blog post.
Rygel does not have any Player capabilities. The fastest (not cleanest or proper architectured) way would be to use dleyna-server for the browsing, Rygel’s GStreamer renderer for the playback, using Cablelabs’s dlnasrc for improved compatibility and controlling the Renderer using dleyna-renderer internally.
Sorry, I think I didn’t explain myself well. I meant to integrate Rygel along with gstreamer (though I confused librygel-core with the playback). But, as I understood, librygel-renderer-gst would be the one to use, right?
As well, a couple of days ago I found this gst-plugins-dlnasrc project from cablelabs and saw it implements DLNA headers and DTCP/IP framework, so it seems the pieces are starting to come together.
As I said, I’m not required to control remote renderers (nor I will implement a DLNA renderer) so I think I don’t need the dleyna-renderer at all. Am I right?
And about “non proper architectures”, don’t worry, I’m used to it (that in my experience, they end up being the more reusable as they are kind of flexible).
Thank you very much Jens!
No, if you want a player, then there is no need for Rygel at all, just dleyna-server.
However, you would need to duplicate a great deal of stuff rygel-renderer-gst does in AVTransport.
That’s why I suggested to integrate the Rygel renderer into your Player and control that using dleyna-renderer.
Code reuse. Of course you could just copy the relevant parts out of the AVTransport class.
Oh, I got you. Use dleyna-renderer to discover and manipulate the rygel-renderer.
As I said, I don’t want to either expose a DMR nor control other ones, so I don’t know if it is possible to integrate both (dleyna-render and rygel-renderer), connect them each other but hide them from other dlna devices?
If not, I think I will end up merging both (skipping the UPnP layer) in order to get a player for DLNA (though it won’t be a DMP). Does that make any sense at all?
Thanks!!
Come to think of it, you probably only need the code that the SetAVTransportURI call does (https://git.gnome.org/browse/rygel/tree/src/librygel-renderer/rygel-av-transport.vala#n862, mainly the resource checking) + dlnasrc + gstreamer.
Ok, Thanks Jense! I’ll take a look on it.