Jump to content

Android TV app does not handle remote play commands correctly


pünktchen

Recommended Posts

pünktchen

@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/

Link to comment
Share on other sites

pünktchen
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.

Link to comment
Share on other sites

pünktchen
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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

pünktchen

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
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

pünktchen
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!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

pünktchen

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

pünktchen
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.

Link to comment
Share on other sites

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...?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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...