summaryrefslogtreecommitdiff
path: root/src/video_decode.c
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2012-11-17 11:50:53 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2012-11-17 11:54:07 +0100
commit9b4fb2d5458e6df3ab618f49ed302efa2699d279 (patch)
tree98af4b218c1570b7df902b06046a09b7c2bc7b20 /src/video_decode.c
parent5f08555df71781b7be31032e7211b6c48e2055b8 (diff)
downloadadvtime-9b4fb2d5458e6df3ab618f49ed302efa2699d279.tar.gz
advtime-9b4fb2d5458e6df3ab618f49ed302efa2699d279.tar.bz2
advtime-9b4fb2d5458e6df3ab618f49ed302efa2699d279.zip
video_decode: Inidicate EOF in get_frame
..and do not print an error message.
Diffstat (limited to 'src/video_decode.c')
-rw-r--r--src/video_decode.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_decode.c b/src/video_decode.c
index 4a2eaf4..c1f7c5a 100644
--- a/src/video_decode.c
+++ b/src/video_decode.c
@@ -99,6 +99,7 @@ video_decode_get_frame(struct video_decode *vd, struct video_frame **frame)
struct video_frame_priv *f;
AVPacket packet;
int decoded, got_picture;
+ int ret;
f = calloc(1, sizeof *f);
if (f == NULL)
@@ -108,7 +109,10 @@ video_decode_get_frame(struct video_decode *vd, struct video_frame **frame)
do {
if (packet.data != NULL)
av_free_packet(&packet);
- if (av_read_frame(vd->fmt_ctx, &packet) < 0) {
+ ret = av_read_frame(vd->fmt_ctx, &packet);
+ if (ret < 0) {
+ if (ret == AVERROR_EOF)
+ return 0;
#if DEBUG
fprintf(stderr, "Found no video stream packet!\n");
#endif
@@ -146,7 +150,7 @@ video_decode_get_frame(struct video_decode *vd, struct video_frame **frame)
*frame = &f->base;
- return 0;
+ return 1;
}
void