Merge tag 'release-0.18.6'

This commit is contained in:
Max Kellermann
2013-12-24 12:20:24 +01:00
6 changed files with 21 additions and 8 deletions

View File

@@ -250,13 +250,14 @@ static DecoderCommand
ffmpeg_send_packet(Decoder &decoder, InputStream &is,
const AVPacket *packet,
AVCodecContext *codec_context,
const AVRational *time_base,
const AVStream *stream,
AVFrame *frame,
uint8_t **buffer, int *buffer_size)
{
if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE)
decoder_timestamp(decoder,
time_from_ffmpeg(packet->pts, *time_base));
time_from_ffmpeg(packet->pts - stream->start_time,
stream->time_base));
AVPacket packet2 = *packet;
@@ -469,7 +470,7 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
if (packet.stream_index == audio_stream)
cmd = ffmpeg_send_packet(decoder, input,
&packet, codec_context,
&av_stream->time_base,
av_stream,
frame,
&interleaved_buffer, &interleaved_buffer_size);
else
@@ -480,7 +481,8 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
if (cmd == DecoderCommand::SEEK) {
int64_t where =
time_to_ffmpeg(decoder_seek_where(decoder),
av_stream->time_base);
av_stream->time_base) +
av_stream->start_time;
if (av_seek_frame(format_context, audio_stream, where,
AV_TIME_BASE) < 0)