-
Notifications
You must be signed in to change notification settings - Fork 6k
Closed
Labels
Description
Exoplayer 2.2.0
Device: Nexus player
Android 7.1.1
I'm trying to play Smooth Streaming Rolling Buffer CatchUp (CDN buffer) assets with Exoplayer.
The time reference for the chanks is not starting at 0, as happens with VOD assets, but for example at 14931911990078373, see manifest example:
<SmoothStreamingMedia MajorVersion="2" MinorVersion="0" TimeScale="10000000" Duration="15020292799">
<StreamIndex Type="audio" QualityLevels="1" TimeScale="10000000" Language="nor" Subtype="AACL" Name="audio_nor" Chunks="751" Url="QualityLevels({bitrate})/Fragments(audio_nor={start time})">
<QualityLevel Index="0" Bitrate="96000" CodecPrivateData="1190" SamplingRate="48000" Channels="2" BitsPerSample="16" PacketSize="4" AudioTag="255" FourCC="AACL"/>
<c t="14931911990078373" d="20053333"/>
<c d="20053334"/>
...
I'm having some problems in the Exoplayer wrapper, as it's expecting position received and passed to SimpleExoPlayer in the interval (0, duration), but for this asset it's in the interval (14931911990078373, 14931911990078373+duration), affected methods are:
player.getCurrentPosition();
player.seekTo(positionMs);
My questions are:
- Is it correct to receive current position player.getCurrentPosition() in the interval (14931911990078373, 14931911990078373+duration)? I mean, this position is relative to the manifest time or to the asset duration?
- If I need to do this "translation" in the wrapper, how can I get the starting time for the first chunk to use it in the wrapper?
Reactions are currently unavailable