MythTV-Clients / MythTV-Android-Frontend

Implementation of MythTV .25+ Services API for Android
GNU General Public License v3.0
66 stars 16 forks source link

Live Streams not updating % complete (possible invalid test setup) #233

Closed billmeek closed 11 years ago

billmeek commented 11 years ago

To Duplicate:

Fake a 0.26 response in the Services API
Select Recordings
Press Add icon
The following fires

Two users on the beta G+ list are reporting the live stream starts (and even runs mythtranscode on their backends) but never updates the % complete, it's stuck at 0.

10-15 09:27:20.515: E/LiveStreamHelperV26(26679): update : error
10-15 09:27:20.515: E/LiveStreamHelperV26(26679): org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Unrecognized field "LiveStreamInfoList" (class org.mythtv.services.api.v026.beans.LiveStreamInfos), not marked as ignorable (one known property: "liveStreamInfos"])
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):  at [Source: java.util.zip.GZIPInputStream@41886260; line: 1, column: 25] (through reference chain: org.mythtv.services.api.v026.beans.LiveStreamInfos["LiveStreamInfoList"]); nested exception is com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "LiveStreamInfoList" (class org.mythtv.services.api.v026.beans.LiveStreamInfos), not marked as ignorable (one known property: "liveStreamInfos"])
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):  at [Source: java.util.zip.GZIPInputStream@41886260; line: 1, column: 25] (through reference chain: org.mythtv.services.api.v026.beans.LiveStreamInfos["LiveStreamInfoList"])
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readInternal(MappingJackson2HttpMessageConverter.java:126)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:147)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:76)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:655)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:641)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:484)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:453)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:429)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.mythtv.services.api.v026.impl.ContentTemplate.getLiveStreamList(ContentTemplate.java:355)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.mythtv.service.content.v26.LiveStreamHelperV26.load(LiveStreamHelperV26.java:178)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.mythtv.service.content.LiveStreamService.loadLiveStreams(LiveStreamService.java:373)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.mythtv.service.content.LiveStreamService.onHandleIntent(LiveStreamService.java:150)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at android.os.Handler.dispatchMessage(Handler.java:99)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at android.os.Looper.loop(Looper.java:137)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at android.os.HandlerThread.run(HandlerThread.java:60)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679): Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "LiveStreamInfoList" (class org.mythtv.services.api.v026.beans.LiveStreamInfos), not marked as ignorable (one known property: "liveStreamInfos"])
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):  at [Source: java.util.zip.GZIPInputStream@41886260; line: 1, column: 25] (through reference chain: org.mythtv.services.api.v026.beans.LiveStreamInfos["LiveStreamInfoList"])
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:579)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:672)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:906)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:328)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:121)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2797)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2003)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readInternal(MappingJackson2HttpMessageConverter.java:123)
10-15 09:27:20.515: E/LiveStreamHelperV26(26679):   ... 15 more
10-15 09:27:20.515: V/LiveStreamHelperV26(26679): update : exit, live streams NOT loaded
dmfrey commented 11 years ago

I see what it is. Will try to push a fix out sometime today or tomorrow.

dmfrey commented 11 years ago

Has this xml/json changed between 0.26 and 0.27? If not, then I am gonna grab some of the xml and create a new unit test for it in the api so that we see more clearly where the parsing is failing. Since this is fairly new, I might just replace what is in the v026 branch with that of the v027 branch if there are no differences. This will make them more in line with the v025 and v027 branches.

billmeek commented 11 years ago

The last change I can see for GetUpcomingList was 7/6/2012 and 0.26 was released on 10/2/2012. The change was for the UTC conversion. So I don't think so. And I did the 0.26 and 0.27 release notes looking out for changes like that. I can ask for a G+ user to pastebin the output if you prefer.

dmfrey commented 11 years ago

Yeah, that would be good. It is ok also if the percent complete is 100%.

On Wed, Oct 16, 2013 at 10:53 AM, billmeek notifications@github.com wrote:

The last change I can see for GetUpcomingList was 7/6/2012 and 0.26 was released on 10/2/2012. The change was for the UTC conversion. So I don't think so. And I did the 0.26 and 0.27 release notes looking out for changes like that. I can ask for a G+ user to pastebin the output if you prefer.

— Reply to this email directly or view it on GitHubhttps://github.com/MythTV-Clients/MythTV-Android-Frontend/issues/233#issuecomment-26424786 .

My Google Profile http://www.google.com/profiles/dmfrey

billmeek commented 11 years ago

Sorry, I should have said http://your backend:6544/Content/GetLiveStreamList not GetUpcomingList (I was looking at adding a Count=10 there.) Made the request on G+.

GetLIveStreamList did have a 0.27 change adding a filtering option, but I can't find a change to the output. http://code.mythtv.org/trac/changeset/14bb408 . Plus, we don't use a filter that I can see.

If you still have access to PLA's machine could you match 0.25 and 0.27? If they're the same, then 0.26 would be.

billmeek commented 11 years ago

From Joseph Fry on G+ http://pastebin.com/raw.php?i=Sar8brCb

dmfrey commented 11 years ago

fixed in mythtv-services-api 1.0.10. Will update app when maven central has received the packages

billmeek commented 11 years ago

Transcoded, played back and deleted a recording. Verified the livestream was gone from the DB and files were gone from the streaming directory.