Page 1 of 1

Problem using Android control point

PostPosted: Mon Jul 02, 2012 4:15 pm
by Yevy
I am experiencing issues with using a control point app on my Android phone to render media from a Serviio server to a DLNA TV.

My setup:
Serviio 0.6.2 on Windows 7
BubbleUPnP 1.4.3.1 on Android 2.1 (Generic DLNA profile)
Panasonic Viera ST50 (Panasonic Viera w/ AVI/DivX/Xvid, 3GP, MOV profile, posted by huyz here http://forum.serviio.org/viewtopic.php?f=7&t=5091. Also tried the generic Panasonic Viera profile with same results)

What works:
Rendering media from Serviio to the Panasonic when requested directly by the TV.
Rendering media from Serviio to the Android phone using BubbleUPnP

What doesn't work:
Using BubbleUPnP on Android to render media from Serviio to the Panasonic. The TV displays a "Cannot Read File" error, while BubbleUPnP shows error code 703. Here's what I believe to be the relevant error message from serviio.log:

  Code:
2012-07-01 17:53:41,891 ERROR [ResourceTransportRequestHandler] Error while processing resource, sending back 500 error. Message: No media description available for required version: AVC_MP4_MP_HD_720p_AAC
org.serviio.dlna.UnsupportedDLNAMediaFileFormatException: No media description available for required version: AVC_MP4_MP_HD_720p_AAC
   at org.serviio.delivery.resource.AbstractDeliveryEngine.findMediaInfoForFileProfile(AbstractDeliveryEngine.java:208)
   at org.serviio.delivery.resource.transcode.AbstractTranscodingDeliveryEngine.retrieveTranscodedMediaInfoForVersion(AbstractTranscodingDeliveryEngine.java:142)
   at org.serviio.delivery.resource.AbstractDeliveryEngine.getMediaInfoForMediaItem(AbstractDeliveryEngine.java:110)
   at org.serviio.delivery.MediaResourceRetrievalStrategy.retrieveResourceInfo(MediaResourceRetrievalStrategy.java:152)
   at org.serviio.upnp.webserver.ResourceTransportRequestHandler.handleRequest(ResourceTransportRequestHandler.java:122)
   at org.serviio.upnp.webserver.AbstractRequestHandler.handle(AbstractRequestHandler.java:54)
   at org.apache.http.protocol.HttpService.doService(HttpService.java:293)
   at org.serviio.upnp.webserver.ServiioHttpService.doService(ServiioHttpService.java:58)
   at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:212)
   at org.serviio.upnp.webserver.WebServer$WorkerThread.run(WebServer.java:187)


I've tried control points other than BubblleUPnP (iMediaShare, MediaHouse) with no luck. I was also able to get a control point to render to the TV from a different UPnP server (Skifta) running on the same machine as Serviio.

Thanks in advance for any insights you can provide.

Re: Problem using Android control point

PostPosted: Mon Jul 02, 2012 4:20 pm
by will
Assign your tv's profile to your Android device in the Serviio console / ServiiDroid.

Re: Problem using Android control point

PostPosted: Mon Jul 02, 2012 4:42 pm
by zip
this looks like you changed the profile already but the software is caching the original Serviio response and is asking for a file in format that doesn't exist for the new profile. I think i've seen something similar before around here and this seemed to be the case.

Re: Problem using Android control point

PostPosted: Tue Jul 03, 2012 3:11 pm
by Yevy
will wrote:Assign your tv's profile to your Android device in the Serviio console / ServiiDroid.


That worked, thanks!

Do you know if it's possible to have transcoding work as well when rendering through a control point? Currently seeing "format not supported" messages on content that's supposed to be transcoded for this profile, and that does get transcoded when requested directly by the TV.

Re: Problem using Android control point

PostPosted: Fri Jun 14, 2013 11:38 am
by infinitysoftware
Assign your tv's profile to your Android device in the Serviio console / ServiiDroid.

Sorry to resurrect an old thread, I'm pleased to see this helped the OP and also helped me with the same issue, but it leaves me curious about the architecture at work - why does Serviio need to be tricked into thinking the android remote is the renderer? Surely this then ties the remote to that device and could encounter problems controlling other devices, which would have their own profiles? I thought the point was that an android remote issues the instruction to the renderer to 'go fetch', and the server wouldn't see any difference compared to using the device's own remote to instantiate the same process?

I think Serviio is great and with help from the community I have almost everything playing on almost every device around my home and garden, this is purely for my edification.

Thanks for any insight

Re: Problem using Android control point

PostPosted: Mon Jun 17, 2013 9:05 am
by zip
From what I understand and see in the logs, the controller makes all the browse commands - at this point Serviio responds with data appropriate to a profile (e.g. different file id based on whether it has to be transcoded or not). So we have to give the rendeer's iP the target profile.

I agree it's not ideal, but DLNA was not designed with profiles in mind - it was all supposed to just magically work if the devices supported all the available formats. The rest is history :-)

Re: Problem using Android control point

PostPosted: Fri Jun 28, 2013 8:32 am
by infinitysoftware
Hi Petr,

Thanks for the knowledge. That is a shame, because I've since encountered the very issue I outlined; having set the controller to the profile of my blu-ray players, now it is my TV that displays an error on every file. Change controller (tablet or phone) profile back to generic, TV works but blu-rays don't again.

I've also discovered that on the blu-ray players, pause or attempts to move to a new time position cause it to just stop, until I turn the unit off. I expect this is the player at fault, but why put all that work into getting 95% of the way there, just to show a certificate, if the feature isn't actually usable. What a shame!