google / google/ExoPlayer

No Timed Metadata on HSS streams

Open
#10,488 7 comments 0 reactions 1 assignee Claimed by @icbaker View on GitHub
enhancement low priority
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

Hi,
I am Haris from Sky
We have an sdk (video player library) which wraps helio which wraps exoPlayer. Also we have a ref app to test our sdk.

We have the following issue:
When playing HSS streams in our ref app they do not give us metadata during playback.
We know those streams have metadata, so we expect our onTimedMetadata(...) to be called every x seconds.

We receive the metadata events from HelioEventsBridge.onMetadata which implements exoplayer's AnalyticsListener.
Method onMetadata from HelioEventsBridge, AnalyticsListener, DefaultAnalyticsCollector, ForwardingPlayer etc are never called. Also MetataRenderer in exoPlayer is disabled & its render(..) method is never called. I can see this in ExoPlayerImplInternal->doSomeWork->isRendererEnabled. Also in enableRenderers() there is a TrackSelectorResult which says which renderers are enabled and the Metadata one is not. EventLogger prints an empty MetadataRender[] and no ID3 TimedMetadata is logged. The issue does not happen in DASH streams where onMetadata is triggered periodically during playback and ID3 TimedMetadata logs appear in logcat.

I ran exoPlayer demo and played the HSS assets and I see the same behaviour. But I tried some DASH ones too and they don't give metadata either, so it seems the demo assets do not have metadata at all (?). It's probably not the same case with the issue we have on HSS.

Also when HSS playback starts in ref app & exoPlayer demo (for HSS asset: Super speed MP4, H264, PlayReady), this log appears in Android Studio:
"E/ACodec: [OMX.MTK.VIDEO.DECODER.AVC.secure] storeMetaDataInBuffers failed w/ err -1010".
I googled it and seems audio related & probably harmless, I was thinking if it could be related to the Metadata issue we have.

Could you please help me on this issue as I have not managed to figure out why it's happening.
I captured adbbugreport at playback start.

[bugreport-NS6291-2022-07-27-12-28-18.zip](https://github.com/google/ExoPlayer/files/9231929/bugreport-NS6291-2022-07-27-12-28-18.zip)

Thank you

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.