Jump to content

Android TV app does not handle remote play commands correctly


Recommended Posts

pünktchen
Posted

@ebr first of all what i'm trying is working correctly in Browsers, Android Mobile and Emby Theater on Windows, but not in your Android TV app.

The Session api endpoint allows us to push multiple items via the Playing command to an Emby client. Something like this:

curl -X POST "http://127.0.0.1:8096/emby/Sessions/3c7f910e83b54eb8132d9c0c1d384f30/Playing?ItemIds=33805&ItemIds=215570&ItemIds=215569&StartPositionTicks=31952000000&PlayCommand=PlayNow&api_key=123456789abcdefg" -H "accept: */*" -H "Content-Type: application/json" -d "{\"ControllingUserId\":\"1d5351ad03694653ab971e8bc08b6701\",\"StartIndex\":1}"

Your app is ignoring "StartPositionTicks" as well as "StartIndex". Instead the app always starts at the beginning with the very first item of the playlist (index 0, ticks 0)!

App logs send at 4.42 pm EDT (10.42 pm Germany) with user Remotetest.
Please fix this and also my other reported issue regarding playlists: https://emby.media/community/index.php?/topic/89926-previous-track-button-is-missing-in-the-osd/

Posted

I'll take a look.  Have you tested the same thing against Roku?

pünktchen
Posted
2 hours ago, ebr said:

I'll take a look.  Have you tested the same thing against Roku?

I don't have a Roku, sorry.

Posted

This should be fixed in the latest beta of the app.  Please let me know if it works for you.

Thanks.

pünktchen
Posted
19 hours ago, ebr said:

This should be fixed in the latest beta of the app.  Please let me know if it works for you.

Thanks.

Almost there, but not completely.
OSD previous track is there and working.
StartIndex in general is working. StartIndex 0 with StartPositionTicks > 0 is also working.
What's not working is StartIndex > 0 with StartPositionTicks > 0. In this case only the StartIndex is respected, but the video starts from the beginning.

Posted
2 hours ago, pünktchen said:

What's not working is StartIndex > 0 with StartPositionTicks > 0. In this case only the StartIndex is respected, but the video starts from the beginning.

I specifically tested this and it worked fine so we'll need to look at specifics.  I used the web app by bringing up a playlist, creating a resume point in the second item and then casting the second item to the TV app.  It started on the second item at the resume point.

If you aren't using our app (and fashioning your own call) please compare to what the web app does in this case.  Also be sure your test item can be seeked by the TV app.

pünktchen
Posted (edited)

That's the difference. You are creating a playlist first and then you are casting only one item where you have created a resume point, the second item to the client. I'm doing none of these actions. You have to look at the Swagger API, SessionService/Sessions endpoint! There with the Playing command you can send multiple ItemIds to the client. But the StartPositionTicks is not necessary an existing resume point. That's what i do! In fact i'm doing it with the .Net interface, not the json API. But it's the same funtion and i don't want to do something other. I need exactly this function to work properly in your app. It works in all the other mentioned apps.

I hope this explains the problem.

Edited by pünktchen
Posted
18 minutes ago, pünktchen said:

You are creating a playlist first and then you are casting only one item where you have created a resume point, the second item to the client.

No, that's not how the web app works.  When you do what I described, it sends the whole playlist to the casted app (as individual item IDs) with a start index.

Can you test using the web app and a playlist like that?

pünktchen
Posted
38 minutes ago, pünktchen said:

i don't want to do something other. I need exactly this function to work properly in your app

And i don't want to create a playlist first!

Posted

We're just trying to collect information by asking how the web app compares because that's always the reference implementation that the other apps follow.

pünktchen
Posted

The web app doesn't provide the feature i'm using, only the api does. But the Android Mobile or the web app can handle that feature, so why don't you compare how these apps are doing it?

Posted

I'm trying to help you.  If you can compare the call made by the web app in the situation I gave you to the call you are making, then I can tell what is going on.

Thanks.

pünktchen
Posted
1 hour ago, ebr said:

I'm trying to help you.  If you can compare the call made by the web app in the situation I gave you to the call you are making, then I can tell what is going on.

Thanks.

The web app just never sends the StartPositionTicks:

http://127.0.0.1:8096/emby/Sessions/3c7f910e83b54eb8132d9c0c1d384f30/Playing?ItemIds=33805%2C215570%2C215569&PlayCommand=PlayNow&StartIndex=1

The send command of the web app relies on the existing resume points of the items. But i don't have them in advance nor do i want to create them in advance.
Also any existing resume points only work if the sending user is the same as the user of the receiving session.

So the conclusion is the same as in my first post. The Android TV app ignores the "StartPositionTicks" of the request.

Posted
1 hour ago, pünktchen said:

The web app just never sends the StartPositionTicks:

Ah... okay.  @Luke I guess a passed in start position should override an existing resume point...?

pünktchen
Posted

@ebr should this already work in .38 beta or will you notify me when ready?

Posted

Not there yet.  Sorry.

pünktchen
Posted

Tested .39
Well done @ebr. Can you please also make sure this works the same way in your Roku app? Thanks!

Posted
13 hours ago, pünktchen said:

Can you please also make sure this works the same way in your Roku app

It should already.  Thanks.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...