Jump to content

Roku: Program crashes when navigating folders


vanillaseagull

Recommended Posts

Can you show me more details on the collection folder that your entering? Are the movies, tv, etc? Can you browse and take some screenshots of it through the web client?

Link to comment
Share on other sites

OK, so the web client hasn't picked it up at all? If not that is part of the problem and while it shouldn't crash, it would never get to a play screen if the server itself doesn't understand the files.

 

Also did media browser server create the xml and fetch the data in the "metadata" folder or did you use some other program for that?

Link to comment
Share on other sites

Yeah I don't like that it crashed because there is a significant amount of error checking in there so don't know what it is crashing on, but one bad piece of data and the Roku likes to crash. But even if it wasn't, it would have never got to a screen to play it with the structure it is in at the moment.

Link to comment
Share on other sites

Yea, I can help. What do you see in the web client? How did you set that folder up in the library? What collection type? Can you please post series.xml?

Link to comment
Share on other sites

I had a similar problem, and (maybe?) fixed it for me.

 

In TvMetadata.brs function tvmetadata_seasons, the query used is:
/Users/userId/Items
  parentid=seriesId
  recursive=true
  IncludeItemTypes=Season
  ExcludeLocationTypes=Virtual
  sortby=SortName
  sortorder=Ascending
 
The big problem for me is I don't use Season folders, and with the above query no seasons are returned (I would expect at least one sort of thing.) If you remove ExcludeLocationTypes=Virtual from the query, you can get all of the seasons of a show. However the browser mediabrowser shows only non-empty seasons (only showing season 4 of a show if only one episode exists on disk sort of thing) and showing empty seasons in Roku isn't really ideal. I dug around for a bit and found the browser version uses:
 
/Shows/seriesId/Seasons?
  userid=userId
  sortby=SortName
  sortorder=Ascending
 
which returns the correct seasons. But then the episode query in TvMetadata fails, returning 0 episodes. To get the correct episodes, remove recursive: "true" from tvmetadata_episodes. I made these changes to the Roku app and uploaded it to mine, and it no longer crashed when I tried to view a show without season folders on disk.
 
I don't know anything about the internals of MediaBrowser or if the /Shows/series/Seasons API is deprecated or something, or if /Users/user/Items is preferred, or what recursive=true does to the episode query though.
 
Although I can tell you where the crash occurs, if there are 0 seasons returned from TvMetadata.GetSeasons in appTVSeasonsListPage.brs:24, then seasonIds[0] doesn't exist and on line 33 the call to TvMetadata.GetEpisodes crashes.
Link to comment
Share on other sites

 

I had a similar problem, and (maybe?) fixed it for me.

 

In TvMetadata.brs function tvmetadata_seasons, the query used is:
/Users/userId/Items
  parentid=seriesId
  recursive=true
  IncludeItemTypes=Season
  ExcludeLocationTypes=Virtual
  sortby=SortName
  sortorder=Ascending
 
The big problem for me is I don't use Season folders, and with the above query no seasons are returned (I would expect at least one sort of thing.) If you remove ExcludeLocationTypes=Virtual from the query, you can get all of the seasons of a show. However the browser mediabrowser shows only non-empty seasons (only showing season 4 of a show if only one episode exists on disk sort of thing) and showing empty seasons in Roku isn't really ideal. I dug around for a bit and found the browser version uses:
 
/Shows/seriesId/Seasons?
  userid=userId
  sortby=SortName
  sortorder=Ascending
 
which returns the correct seasons. But then the episode query in TvMetadata fails, returning 0 episodes. To get the correct episodes, remove recursive: "true" from tvmetadata_episodes. I made these changes to the Roku app and uploaded it to mine, and it no longer crashed when I tried to view a show without season folders on disk.
 
I don't know anything about the internals of MediaBrowser or if the /Shows/series/Seasons API is deprecated or something, or if /Users/user/Items is preferred, or what recursive=true does to the episode query though.
 
Although I can tell you where the crash occurs, if there are 0 seasons returned from TvMetadata.GetSeasons in appTVSeasonsListPage.brs:24, then seasonIds[0] doesn't exist and on line 33 the call to TvMetadata.GetEpisodes crashes.

 

 

Cool. Nice to see someone hands-on like that. 

 

The /Items api is a generic querying api. In most cases it's fine, but for some types we have specialized api methods, like /Shows/SeriesId/Seasons. When those exist, they should be used. The Roku is running several weeks behind the server though just because it was stuck in the store approval process for so long. But now that it's been released gcw07 will be working on it.

 

Just to confirm - does everything display correctly in the web browser?

Link to comment
Share on other sites

Cool. Nice to see someone hands-on like that. 

 

The /Items api is a generic querying api. In most cases it's fine, but for some types we have specialized api methods, like /Shows/SeriesId/Seasons. When those exist, they should be used. The Roku is running several weeks behind the server though just because it was stuck in the store approval process for so long. But now that it's been released gcw07 will be working on it.

 

Just to confirm - does everything display correctly in the web browser?

Yes, everything displays correctly in the browser. The Roku app also worked when I manually created season folders for some shows.

Link to comment
Share on other sites

Yes, everything displays correctly in the browser. The Roku app also worked when I manually created season folders for some shows.

 

Cool. So that means once gcw07 switches it to use the dedicated tv api, Roku should get the fix just from that.

Link to comment
Share on other sites

Yeah thanks. Support for series without seasons folder was recently added and I haven't had a chance to add support for it.

 

However there should have been an error check right there to see if seasons was returning valid data or not. I've added it in for now. Thank you gooble.

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