aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-05-10 09:26:23 +0200
committerAnton Khirnov <anton@khirnov.net>2015-02-20 09:18:30 +0100
commit3813490f0ac20b5fe5f4017deff77224f34ede66 (patch)
tree9396ecfb98af92178a9803285e73243b3a4cd2bd
parentaeaa609a069a624571634c9fb35ab135470ed638 (diff)
libav decoder plugin: reduce the number of parameters to libav_send_packet
-rw-r--r--src/decoder/libav_decoder_plugin.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/decoder/libav_decoder_plugin.c b/src/decoder/libav_decoder_plugin.c
index 9ae365c5..eaeecd60 100644
--- a/src/decoder/libav_decoder_plugin.c
+++ b/src/decoder/libav_decoder_plugin.c
@@ -206,11 +206,8 @@ static int64_t time_to_libav(double t, const AVRational time_base)
return av_rescale_q((int64_t)(t * 1024), (AVRational){1, 1024}, time_base);
}
-static enum decoder_command libav_send_packet(struct decoder *decoder,
- struct input_stream *is,
- const AVPacket *packet,
- AVCodecContext *codec_context,
- const AVRational *time_base)
+static enum decoder_command libav_send_packet(LibavDecContext *s,
+ const AVPacket *packet)
{
AVPacket packet2 = *packet;
enum decoder_command cmd = DECODE_COMMAND_NONE;
@@ -229,7 +226,7 @@ static enum decoder_command libav_send_packet(struct decoder *decoder,
break;
}
- ret = avcodec_decode_audio4(codec_context, frame, &got_frame, &packet2);
+ ret = avcodec_decode_audio4(s->ast->codec, frame, &got_frame, &packet2);
if (ret < 0) {
g_message("decoding failed, frame skipped\n");
break;
@@ -245,7 +242,7 @@ static enum decoder_command libav_send_packet(struct decoder *decoder,
continue;
}
- cmd = decoder_data(decoder, is, frame, codec_context->bit_rate / 1000);
+ cmd = decoder_data(s->decoder, s->input, frame, s->ast->codec->bit_rate / 1000);
}
return cmd;
}
@@ -306,9 +303,7 @@ static void libav_decode(struct decoder *decoder, struct input_stream *input)
break;
if (packet.stream_index == s.ast->index)
- cmd = libav_send_packet(decoder, input,
- &packet, dec,
- &s.ast->time_base);
+ cmd = libav_send_packet(&s, &packet);
else
cmd = decoder_get_command(decoder);