- March 23, 2012
- 614
- 745
- 56
- Home Country
- Germany
I'm working since 2 years on a UPnP Controller for ANDROID, which should be very simple to use.
As MediaPortal user my first goal is to have perfect playback together with the MediaPortal UPnP Renderer plugin developed from @hierl_w.
https://forum.team-mediaportal.com/threads/working-on-new-mp-upnp-renderer-process-plugin.104959/#post835560
As the UPnP Renderer does not support gapless playback or crossfade so far, I started to implement this.
For this purpose I took the source code provided by @Dragy in the forum.
I modified my ANDROID client, the UPnP Renderer and a few things in the BASS engine. (I implemented the SetNextAVTransportURI action in my client as well as in the UPnP Renderer).
Everything works but not 100% perfect, because there are still small gaps (hickup) between the tracks.
This is where I need the help of the other developers.
I think of @hwahrmann or any other dev that has worked on the BASS engine and has knowledge of this.
My changes are here:
https://github.com/MediaPortal/MediaPortal-1/compare/master...UnlimitedStack:EXP_UPNP_RENDERER_FIXES
This branch contains all fixes I made to improve the UPnP renderer playback. They are not only BASS related.
As there is no repository for the latest MP_UPnPRenderer changes, I attached my modified version of the plugin. I could also provide the code.
I added support for generating a fixed Unique Device Name. This can help if there are more than one MediaPortal instances running on the same network:
And of course the support for gapless playback:
To have a contoller for testing / debugging gapless playback, I attached an APK of my client.
It can be manually installed on ANDROID. It is necessary to enable installation of apps from other sources than the Play Store. The app itself can be installed with Apk Installer.
https://play.google.com/store/apps/details?id=com.graphilos.apkinst&hl=de
After starting the app you see this:
Just tap on the gear on the left bottom, then you can select Server and Renderer:
Close the dialog with (X) and tap on the "Power On" symbol.that should appear if Server and Renderer are selected and available.
Then browse to a music album for testing:
Tap on a song to start playing.
There is a control panel for playback. Just tap on the arrow-down symbol in the top right corner:
Now you can test gapless playback.
My goal is to find out the reason for the remaining hickup(s).
A big THANK YOU goes to @hierl_w, @Dragy and all the others that kept this plugin alive
Let's hope somebody can help me...
ATTENTION: As mentioned above, you have to build your own version of MediaPortal with this branch included:
https://github.com/MediaPortal/MediaPortal-1/compare/master...UnlimitedStack:EXP_UPNP_RENDERER_FIXES
Otherwise it won't work!!!
UPDATE: Added new APK with bug fix
As MediaPortal user my first goal is to have perfect playback together with the MediaPortal UPnP Renderer plugin developed from @hierl_w.
https://forum.team-mediaportal.com/threads/working-on-new-mp-upnp-renderer-process-plugin.104959/#post835560
As the UPnP Renderer does not support gapless playback or crossfade so far, I started to implement this.
For this purpose I took the source code provided by @Dragy in the forum.
I modified my ANDROID client, the UPnP Renderer and a few things in the BASS engine. (I implemented the SetNextAVTransportURI action in my client as well as in the UPnP Renderer).
Everything works but not 100% perfect, because there are still small gaps (hickup) between the tracks.
This is where I need the help of the other developers.
I think of @hwahrmann or any other dev that has worked on the BASS engine and has knowledge of this.
My changes are here:
https://github.com/MediaPortal/MediaPortal-1/compare/master...UnlimitedStack:EXP_UPNP_RENDERER_FIXES
This branch contains all fixes I made to improve the UPnP renderer playback. They are not only BASS related.
As there is no repository for the latest MP_UPnPRenderer changes, I attached my modified version of the plugin. I could also provide the code.
I added support for generating a fixed Unique Device Name. This can help if there are more than one MediaPortal instances running on the same network:
And of course the support for gapless playback:
To have a contoller for testing / debugging gapless playback, I attached an APK of my client.
It can be manually installed on ANDROID. It is necessary to enable installation of apps from other sources than the Play Store. The app itself can be installed with Apk Installer.
https://play.google.com/store/apps/details?id=com.graphilos.apkinst&hl=de
After starting the app you see this:
Just tap on the gear on the left bottom, then you can select Server and Renderer:
Close the dialog with (X) and tap on the "Power On" symbol.that should appear if Server and Renderer are selected and available.
Then browse to a music album for testing:
Tap on a song to start playing.
There is a control panel for playback. Just tap on the arrow-down symbol in the top right corner:
Now you can test gapless playback.
My goal is to find out the reason for the remaining hickup(s).
A big THANK YOU goes to @hierl_w, @Dragy and all the others that kept this plugin alive
Let's hope somebody can help me...
ATTENTION: As mentioned above, you have to build your own version of MediaPortal with this branch included:
https://github.com/MediaPortal/MediaPortal-1/compare/master...UnlimitedStack:EXP_UPNP_RENDERER_FIXES
Otherwise it won't work!!!
UPDATE: Added new APK with bug fix
Attachments
Last edited: