summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/internal/audio/kitaudio.c3
-rw-r--r--src/internal/video/kitvideo.c13
2 files changed, 10 insertions, 6 deletions
diff --git a/src/internal/audio/kitaudio.c b/src/internal/audio/kitaudio.c
index 7a3b0a4..10dcf63 100644
--- a/src/internal/audio/kitaudio.c
+++ b/src/internal/audio/kitaudio.c
@@ -117,6 +117,7 @@ static void dec_decode_audio_cb(Kit_Decoder *dec, AVPacket *in_packet) {
int dst_bufsize;
double pts;
unsigned char **dst_data;
+ Kit_AudioPacket *out_packet;
// Decode as long as there is data
while(in_packet->size > 0) {
@@ -158,7 +159,7 @@ static void dec_decode_audio_cb(Kit_Decoder *dec, AVPacket *in_packet) {
pts *= av_q2d(dec->format_ctx->streams[dec->stream_index]->time_base);
// Lock, write to audio buffer, unlock
- Kit_AudioPacket *out_packet = _CreateAudioPacket(
+ out_packet = _CreateAudioPacket(
(char*)dst_data[0], (size_t)dst_bufsize, pts);
Kit_WriteDecoderOutput(dec, out_packet);
diff --git a/src/internal/video/kitvideo.c b/src/internal/video/kitvideo.c
index cdbf933..75b2fdd 100644
--- a/src/internal/video/kitvideo.c
+++ b/src/internal/video/kitvideo.c
@@ -98,18 +98,21 @@ static void dec_decode_video_cb(Kit_Decoder *dec, AVPacket *in_packet) {
assert(in_packet != NULL);
Kit_VideoDecoder *video_dec = dec->userdata;
+ AVFrame *out_frame;
int frame_finished;
-
+ int len;
+ double pts;
+ Kit_VideoPacket *out_packet;
while(in_packet->size > 0) {
- int len = avcodec_decode_video2(dec->codec_ctx, video_dec->scratch_frame, &frame_finished, in_packet);
+ len = avcodec_decode_video2(dec->codec_ctx, video_dec->scratch_frame, &frame_finished, in_packet);
if(len < 0) {
return;
}
if(frame_finished) {
// Target frame
- AVFrame *out_frame = av_frame_alloc();
+ out_frame = av_frame_alloc();
av_image_alloc(
out_frame->data,
out_frame->linesize,
@@ -129,11 +132,11 @@ static void dec_decode_video_cb(Kit_Decoder *dec, AVPacket *in_packet) {
out_frame->linesize);
// Get presentation timestamp
- double pts = av_frame_get_best_effort_timestamp(video_dec->scratch_frame);
+ pts = av_frame_get_best_effort_timestamp(video_dec->scratch_frame);
pts *= av_q2d(dec->format_ctx->streams[dec->stream_index]->time_base);
// Lock, write to audio buffer, unlock
- Kit_VideoPacket *out_packet = _CreateVideoPacket(out_frame, pts);
+ out_packet = _CreateVideoPacket(out_frame, pts);
Kit_WriteDecoderOutput(dec, out_packet);
}
in_packet->size -= len;