summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Sieber <mail@strfry.org>2018-01-07 16:51:40 +0100
committerAlfred E. Heggestad <alfred.heggestad@gmail.com>2018-01-07 16:51:40 +0100
commit369b0c0f0e96c529823a11cfc9ab55ce7ade4451 (patch)
treefce59eca0d7d0b5ca32c6838d788aeb5c1e8705c
parentabc990ae7290aad4c4c4e26dd1ac291ad9ac722a (diff)
avcodec: Return EPROTO when encountering missing fragments in H264 stream, to trigger intra-frame request (#339)
-rw-r--r--modules/avcodec/decode.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/avcodec/decode.c b/modules/avcodec/decode.c
index 77e6e77..badb192 100644
--- a/modules/avcodec/decode.c
+++ b/modules/avcodec/decode.c
@@ -333,6 +333,7 @@ int decode_h264(struct viddec_state *st, struct vidframe *frame,
" ignoring NAL\n");
fragment_rewind(st);
++st->stats.n_lost;
+ return EPROTO;
}
st->frag_start = st->mb->pos;
@@ -351,7 +352,7 @@ int decode_h264(struct viddec_state *st, struct vidframe *frame,
if (!st->frag) {
debug("avcodec: ignoring fragment\n");
++st->stats.n_lost;
- return 0;
+ return EPROTO;
}
if (seq_diff(st->frag_seq, seq) != 1) {
@@ -359,7 +360,7 @@ int decode_h264(struct viddec_state *st, struct vidframe *frame,
fragment_rewind(st);
st->frag = false;
++st->stats.n_lost;
- return 0;
+ return EPROTO;
}
}