send

expect fun send(packet: Packet?): Boolean

Offers packet, or null to start the decoder drain.

A packet belonging to a different stream is REFUSED rather than decoded. Feeding one used to reach FFmpeg, which answered INVALIDDATA, which every backend swallowed as consumed, so the input vanished and nothing said why. The check is by stream index, which catches the ordinary mistake of routing a packet to the wrong decoder; it cannot catch a packet from a DIFFERENT source that happens to share the index, which needs source-scoped packet handles and is a later change.

Return

true when consumed; false when output must be drained before retrying the same packet

Throws

when packet is closed or belongs to another stream

actual fun send(packet: Packet?): Boolean

Offers packet, or null to start the decoder drain.

A packet belonging to a different stream is REFUSED rather than decoded. Feeding one used to reach FFmpeg, which answered INVALIDDATA, which every backend swallowed as consumed, so the input vanished and nothing said why. The check is by stream index, which catches the ordinary mistake of routing a packet to the wrong decoder; it cannot catch a packet from a DIFFERENT source that happens to share the index, which needs source-scoped packet handles and is a later change.

Return

true when consumed; false when output must be drained before retrying the same packet

Throws

when packet is closed or belongs to another stream

actual fun send(packet: Packet?): Boolean

Offers a packet, or null to begin the end-of-stream drain.

A closed packet is rejected. Its payload is gone, so sending it would hand the decoder a dangling pointer, and a queue that closed a packet it still owed the decoder is a bug worth hearing about at the call that made it rather than as corrupt output later.

Return

true when the packet was consumed. False means the decoder's output queue is full: call receive until it returns null, then offer this same packet again.

actual fun send(packet: Packet?): Boolean

Offers packet, or null to start the decoder drain.

A packet belonging to a different stream is REFUSED rather than decoded. Feeding one used to reach FFmpeg, which answered INVALIDDATA, which every backend swallowed as consumed, so the input vanished and nothing said why. The check is by stream index, which catches the ordinary mistake of routing a packet to the wrong decoder; it cannot catch a packet from a DIFFERENT source that happens to share the index, which needs source-scoped packet handles and is a later change.

Return

true when consumed; false when output must be drained before retrying the same packet

Throws

when packet is closed or belongs to another stream

actual fun send(packet: Packet?): Boolean

Offers packet, or null to start the decoder drain.

A packet belonging to a different stream is REFUSED rather than decoded. Feeding one used to reach FFmpeg, which answered INVALIDDATA, which every backend swallowed as consumed, so the input vanished and nothing said why. The check is by stream index, which catches the ordinary mistake of routing a packet to the wrong decoder; it cannot catch a packet from a DIFFERENT source that happens to share the index, which needs source-scoped packet handles and is a later change.

Return

true when consumed; false when output must be drained before retrying the same packet

Throws

when packet is closed or belongs to another stream