decodeStreams
Decode several streams in one demuxer pass, emitting frames interleaved in container order and tagged by FrameInfo.streamIndex. This is the only correct way to transcode video and audio together: two concurrent decodedFrames flows would race the underlying demuxer, so that is rejected with IllegalStateException.
Its reads keep metadata, streams and programs current as PacketReader.read does, for this flow and for decodedFrames alike. A stream's new tags have no packet to ride here and are dropped, so read packets through openPacketReader to receive Packet.newStreamTags. A stream FFmpeg adds while the flow runs joins streams and is not decoded by it.
See also
for the ownership rule every collected frame is subject to
Decode several streams in one demuxer pass, emitting frames interleaved in container order and tagged by FrameInfo.streamIndex. This is the only correct way to transcode video and audio together: two concurrent decodedFrames flows would race the underlying demuxer, so that is rejected with IllegalStateException.
Its reads keep metadata, streams and programs current as PacketReader.read does, for this flow and for decodedFrames alike. A stream's new tags have no packet to ride here and are dropped, so read packets through openPacketReader to receive Packet.newStreamTags. A stream FFmpeg adds while the flow runs joins streams and is not decoded by it.
See also
for the ownership rule every collected frame is subject to
Decode several streams in one demuxer pass, emitting frames interleaved in container order and tagged by FrameInfo.streamIndex. This is the only correct way to transcode video and audio together: two concurrent decodedFrames flows would race the underlying demuxer, so that is rejected with IllegalStateException.
Its reads keep metadata, streams and programs current as PacketReader.read does, for this flow and for decodedFrames alike. A stream's new tags have no packet to ride here and are dropped, so read packets through openPacketReader to receive Packet.newStreamTags. A stream FFmpeg adds while the flow runs joins streams and is not decoded by it.
See also
for the ownership rule every collected frame is subject to
Decode several streams in one demuxer pass, emitting frames interleaved in container order and tagged by FrameInfo.streamIndex. This is the only correct way to transcode video and audio together: two concurrent decodedFrames flows would race the underlying demuxer, so that is rejected with IllegalStateException.
Its reads keep metadata, streams and programs current as PacketReader.read does, for this flow and for decodedFrames alike. A stream's new tags have no packet to ride here and are dropped, so read packets through openPacketReader to receive Packet.newStreamTags. A stream FFmpeg adds while the flow runs joins streams and is not decoded by it.
See also
for the ownership rule every collected frame is subject to
Decode several streams in one demuxer pass, emitting frames interleaved in container order and tagged by FrameInfo.streamIndex. This is the only correct way to transcode video and audio together: two concurrent decodedFrames flows would race the underlying demuxer, so that is rejected with IllegalStateException.
Its reads keep metadata, streams and programs current as PacketReader.read does, for this flow and for decodedFrames alike. A stream's new tags have no packet to ride here and are dropped, so read packets through openPacketReader to receive Packet.newStreamTags. A stream FFmpeg adds while the flow runs joins streams and is not decoded by it.
See also
for the ownership rule every collected frame is subject to