From 1badb3b5d5d095815a07116c491240db44abb344 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 2 Oct 2012 09:16:44 +0200 Subject: encoder/opus: initialize the "granulepos" packet attribute --- src/encoder/OpusEncoderPlugin.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/encoder') diff --git a/src/encoder/OpusEncoderPlugin.cxx b/src/encoder/OpusEncoderPlugin.cxx index c28e7ff0..043a9e76 100644 --- a/src/encoder/OpusEncoderPlugin.cxx +++ b/src/encoder/OpusEncoderPlugin.cxx @@ -63,6 +63,8 @@ struct opus_encoder { OggStream stream; ogg_int64_t packetno; + + ogg_int64_t granulepos; }; gcc_const @@ -235,12 +237,14 @@ opus_encoder_do_encode(struct opus_encoder *encoder, bool eos, return false; } + encoder->granulepos += encoder->buffer_frames; + ogg_packet packet; packet.packet = encoder->buffer2; packet.bytes = result; packet.b_o_s = false; packet.e_o_s = eos; - packet.granulepos = 0; // TODO + packet.granulepos = encoder->granulepos; packet.packetno = encoder->packetno++; encoder->stream.PacketIn(packet); -- cgit v1.2.3