Kodi Community Forum

Full Version: 2018 - Amazon Fire TV Stick 4K
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
If you are interested for some background reading: https://github.com/google/ExoPlayer/issues/5763

This is quite nice. Infact there is no proper delay API on Android (yeah, we knew that - this is why I had to do a lot of interpolation). Vendors used a private implementation GetLatency() which is not available via public API / SDK, only via reflection. It seemed they wanted to change that with Android Q, but did not properly do it yet. Amazon's exoplayer fork still uses the oldish hidden private API for delay. I really hope they fix the rootcause in the near future by properly implementing the Timestamps. It would even be a backwards compatible change. Let's see.

For the record: Kodi uses for v19 and (fritschfiretv) GetHeadPosition() for streamstart (first few ms < 100) and then when GetTimestamp gets stable this v19 based API.

I will transition directly to a proper provided GetLatency() function if Q or later has support for it.
@fritsch 
Hope you don't mind me pestering you buddy but I wondered if you could give your views on this issue:
In the UK (and certain other countries), if using the firestick4k and Kodi to view (DVB-T or DVB-S) HD channels, there's a big problem...random missing timestamps cause exoplayer to lock up completely and crash, this can be almost instantly on some channels, or after a while like others.

If these channels are piped through FFmpeg (on TVHeadend) and through to Kodi this warning will eventually appear in the log:

[mpegts @ 0x1b1db50] Timestamps are unset in a packet for stream 0

And within 3 seconds exoplayer will freeze, every single time.
At first I thought this could be a hardware problem, but after switching from DVB-T, to DVB-S and seeing the exact same warnings its apparent that it is just the way these channels are being transmitted.

I'll admit straight away that this isn't a Kodi problem, it's a problem with exoplayer...as Kodi has no problem playing these channels on Vero4k+ running Kodi 18.5, or macOS running Kodi 18.5....the players on these platforms are capable of shrugging off this issue silently.

The problem is after repeatedly pestering Amazon they don't seem bothered about fixing it as this has been going on since the product was launched.

Transcoding fixes the issue, but due to running TVHeadend on a Pi it doesn't have the grunt to transcode 1080i in realtime.

I know its a long shot but do you have any thoughts/ideas/hacks/workarounds that could be helpful here?
Cheers and Merry Xmas.
Did you file an issue report with their exxoplayer?

Kodi's Videoplayer does not play them at all? (Do the files work if you disable Mediacodec / Mediacodec Surface -> I know it might be too slow).

From what I heard the Cube can do proper 1080i playback.


For TVHeadend: I am the wrong guy. I struggled with them for many years. Sacrificing valid frames by fast channel switching times. In the past we developed a HW Decoder and when we were finished, we used tvheadend to double check how much you can fuck up content :-) - that was the past, got better now.

Something in general: Please read my signature for a short moment :-) Device which tool to use wisely.
(2019-12-18, 18:29)fritsch Wrote: [ -> ]Did you file an issue report with their exxoplayer?

Kodi's Videoplayer does not play them at all? (Do the files work if you disable Mediacodec / Mediacodec Surface -> I know it might be too slow).

From what I heard the Cube can do proper 1080i playback.


For TVHeadend: I am the wrong guy. I struggled with them for many years. Sacrificing valid frames by fast channel switching times. In the past we developed a HW Decoder and when we were finished, we used tvheadend to double check how much you can fuck up content :-) - that was the past, got better now.

Something in general: Please read my signature for a short moment :-) Device which tool to use wisely.

I didn't personally file an issue report with their exxoplayer, but I know one has been issued before about this problem.

The files/channels play when I disable Mediacodec / Mediacodec Surface and no longer crash the player, but with lots of dropped frames and issues...as u suspect I think the device is too slow.

I naively thought that as the normal firestick had no problems with this content then the 4K version would have no problem either (I know...I know)

My overall thoughts on the device in general are positive, its just this one issue stopping it being a superb device for the cost...and as the price was too good to resist when on sale I picked one up last January.

I'll put this down to experience I think, I'll still use the device but have to come up with another solution for DVB stuff, and I'll definitely research more thoroughly in the future.
I am new to Kodi (and the Fire Stick 4k) and I have been trying to understand some things on how the audio decoding/passthrough works in this combination (Kodi 18.5 and Fire Stick 4K). Especially regarding HD audio.
By piecing together various information I come to the following conclusion:
By enabling the setting "Receiver is DTS capable" and enabling passthrough in general the following happens:
1)...if source is "classic" DTS (e.g. DTS 5.1 or DTS-ES), Kodi will simply passthrough everything
2)...if source is DTS-HD MA, Kodi will passthrough the "core" DTS 1.5 Mbit/s track (applies only for 48khz, for 96khz it will decode it to PCM)
3)...if source is Dolby TrueHD, Kodi will decode it to PCM (the number of channel depend on the channel setting)

Did I understood everything correct so far? Smile

Now I was wondering the following:
- regarding 2): Instead of having the core track passed through, I suppose it makes more sense (in terms of getting the best possible audio quality) to disable passthrough and let Kodi decode the HD track to PCM. I assume it will use the full track for this and not the code track.
- In general: is HD audio passthrough technically not possible (to be honest I did not get the whole thing regarding API Version 25) or it is simply not implemented (yet)?
(2019-12-20, 02:16)Lei_Wulong Wrote: [ -> ]I assume it will use the full track for this and not the code track.
Sorry I meant "core track" not "code track".
(Is it not possible to edit posts because I am new to the forum?)
Your points are all correct.

IEC API has a design flaw from Android. It's only specified as up to 192 khz but fixed to 2 channels transport stream. Shield / some AML boxes implement the 8 channel path as well. I am in contact with the Android Audio people for a long time - it seems chances are good with next major Android version to get that properly specified.
Thanks. So regarding my 2nd question I suppose the answer is: "HD audio passthrough cannot be properly implemented at the moment."

But I don't see any real problem with that. I mean by having HD-Audio decoded to PCM by Kodi I don't see much of a downside. My receiver would have done the same and I am pretty sure I would not hear the difference. Smile
(2019-12-20, 17:39)Lei_Wulong Wrote: [ -> ]Thanks. So regarding my 2nd question I suppose the answer is: "HD audio passthrough cannot be properly implemented at the moment."

But I don't see any real problem with that. I mean by having HD-Audio decoded to PCM by Kodi I don't see much of a downside. My receiver would have done the same and I am pretty sure I would not hear the difference. Smile

But wasn’t there a problem with HD audio decoded to Multichannel LPCM - audio channel mapping ?
Or has that been fixed ?
(2019-12-20, 17:39)Lei_Wulong Wrote: [ -> ]Thanks. So regarding my 2nd question I suppose the answer is: "HD audio passthrough cannot be properly implemented at the moment."

But I don't see any real problem with that. I mean by having HD-Audio decoded to PCM by Kodi I don't see much of a downside. My receiver would have done the same and I am pretty sure I would not hear the difference. Smile
Advantage of Kodi decoding to PCM: When I skip forward/back, it keeps my AVR in 7.1 PCM rather than dropping the 7.1 output to Stereo and causing an audible click every time.

Disadvantage to Kodi decoding to PCM: Stereo sources are presented to my AVR as 7.1 PCM (still stereo, though), and I can't use my AVR's various expansion features Like Dolby Pro Logic IIx.

The advantage outweighs the disadvantage for me.

As for Kodi reversing the side/back channels, I only have 5.1 speakers, so I output 7.1 and let my AVR sort it out. People with 7.1 can have Kodi output 5.1, and that would be in their list of disadvantages.
(2019-12-21, 06:13)crawfish Wrote: [ -> ]
(2019-12-20, 17:39)Lei_Wulong Wrote: [ -> ]K
Thanks. So regarding my 2nd question I suppose the answer is: "HD audio passthrough cannot be properly implemented at the moment."

But I don't see any real problem with that. I mean by having HD-Audio decoded to PCM by Kodi I don't see much of a downside. My receiver would have done the same and I am pretty sure I would not hear the difference. Smile
Advantage of Kodi decoding to PCM: When I skip forward/back, it keeps my AVR in 7.1 PCM rather than dropping the 7.1 output to Stereo and causing an audible click every time.

Disadvantage to Kodi decoding to PCM: Stereo sources are presented to my AVR as 7.1 PCM (still stereo, though), and I can't use my AVR's various expansion features Like Dolby Pro Logic IIx.

The advantage outweighs the disadvantage for me.

As for Kodi reversing the side/back channels, I only have 5.1 speakers, so I output 7.1 and let my AVR sort it out. People with 7.1 can have Kodi output 5.1, and that would be in their list of disadvantages. 

Kodi won't upmix, besides you tell it. For me it sounds like you have set the configuration to 7.1 Fixed. That's not needed. Just disable Passthrough, Set kodi to Optimized and don't enable Upmix Stereo.
@crawfish  Could you please reproduce the click with a Debug Log in combination with my fritschfiretv build? http://mirrors.kodi.tv/test-builds/andro...bi-v7a.apk
(2019-12-21, 11:39)fritsch Wrote: [ -> ]Kodi won't upmix, besides you tell it. For me it sounds like you have set the configuration to 7.1 Fixed. That's not needed. Just disable Passthrough, Set kodi to Optimized and don't enable Upmix Stereo. 

I do use 7.1 fixed, and I was following the advice in this message, "2-channel PCM is transcoded to DD/DD+ (can be avoided by selecting 5.1 "fixed" audio output, instead of the default "optimized")":

https://forum.kodi.tv/showthread.php?pid...pid2843953

I've never had Kodi upmix stereo.

About the clicks, I don't regard that as anomalous. The PC Kodi does it, and Windows Media Center did it. My AVR makes a click through the speakers (thankfully it doesn't increase as volume increases) whenever it switches between a surround mode and stereo. If I resume using "Optimized," the default state of the AVR, e.g. when I'm at the Kodi home screen, is stereo. This means I get a click through the speakers whenever I start and stop (not pause) a video with surround sound. When I used fixed, the AVR stays in the 7.1 PCM at all times, even at the home screen, and I don't get any clicks. I don't see how you would avoid this if mode switching is allowed.

I will note that unlike Optimized + Passthrough, which drops to stereo when skipping or pausing, Optimized + No Passthrough does stay in the same audio mode when video is paused or skipped, so no clicks at those times, but using Optimized opens you up to the transcoding behavior noted in the linked message, and it brings back the clicks when starting/stopping a video that has surround sound.

The "Keep audio device alive" and "Send low volume noise" options have no effect on this or anything else that I can detect.

The only thing I can see that might need fixing is the transcoding behavior noted in the linked message, and that may be an Amazon thing you can't help.
That post you link is partly bullshit. Kodi won't degrade anything at all if it decodes audio.

For the rears let's see if I can do something for you. please play a file with that wrong mapping while debug log is enabled. Please make sure that you already have debugging enabled when kodi starts.
Quote:I do use 7.1 fixed, and I was following the advice in this message, "2-channel PCM is transcoded to DD/DD+ (can be avoided by selecting 5.1 "fixed" audio output, instead of the default "optimized")":

Ah - okay - got it. Yeah that's the FireTV's firmware.

Quote:(side & rear channels reversed)

This we can probably solve.