reselect
Changes which streams read delivers without reopening this reader or moving its demuxer cursor.
Every entry must come from the MediaSource.streams list of the source that opened this reader. The list must be non-empty and contain no duplicate indices. Invalid requests leave the previous selection unchanged.
This operation changes delivery from the demuxer's current cursor onward. It does not seek backwards to recover packets from a newly selected stream, clear caller-owned queues or flush decoders. A player that has read ahead and needs the new stream at its presentation position must perform its own seek/cache refresh.
Reading, seeking, reselecting and closing must be serialized by the caller. On JVM/Android they are additionally mutually excluded inside the reader; callers must not rely on that implementation detail for portable code.
Changes which streams read delivers without reopening this reader or moving its demuxer cursor.
Every entry must come from the MediaSource.streams list of the source that opened this reader. The list must be non-empty and contain no duplicate indices. Invalid requests leave the previous selection unchanged.
This operation changes delivery from the demuxer's current cursor onward. It does not seek backwards to recover packets from a newly selected stream, clear caller-owned queues or flush decoders. A player that has read ahead and needs the new stream at its presentation position must perform its own seek/cache refresh.
Reading, seeking, reselecting and closing must be serialized by the caller. On JVM/Android they are additionally mutually excluded inside the reader; callers must not rely on that implementation detail for portable code.
Changes which streams read delivers without reopening this reader or moving its demuxer cursor.
Every entry must come from the MediaSource.streams list of the source that opened this reader. The list must be non-empty and contain no duplicate indices. Invalid requests leave the previous selection unchanged.
This operation changes delivery from the demuxer's current cursor onward. It does not seek backwards to recover packets from a newly selected stream, clear caller-owned queues or flush decoders. A player that has read ahead and needs the new stream at its presentation position must perform its own seek/cache refresh.
Reading, seeking, reselecting and closing must be serialized by the caller. On JVM/Android they are additionally mutually excluded inside the reader; callers must not rely on that implementation detail for portable code.
Changes which streams read delivers without reopening this reader or moving its demuxer cursor.
Every entry must come from the MediaSource.streams list of the source that opened this reader. The list must be non-empty and contain no duplicate indices. Invalid requests leave the previous selection unchanged.
This operation changes delivery from the demuxer's current cursor onward. It does not seek backwards to recover packets from a newly selected stream, clear caller-owned queues or flush decoders. A player that has read ahead and needs the new stream at its presentation position must perform its own seek/cache refresh.
Reading, seeking, reselecting and closing must be serialized by the caller. On JVM/Android they are additionally mutually excluded inside the reader; callers must not rely on that implementation detail for portable code.
Changes which streams read delivers without reopening this reader or moving its demuxer cursor.
Every entry must come from the MediaSource.streams list of the source that opened this reader. The list must be non-empty and contain no duplicate indices. Invalid requests leave the previous selection unchanged.
This operation changes delivery from the demuxer's current cursor onward. It does not seek backwards to recover packets from a newly selected stream, clear caller-owned queues or flush decoders. A player that has read ahead and needs the new stream at its presentation position must perform its own seek/cache refresh.
Reading, seeking, reselecting and closing must be serialized by the caller. On JVM/Android they are additionally mutually excluded inside the reader; callers must not rely on that implementation detail for portable code.