Module: libav
Branch: master
Commit: 71194ef6a8ffe7cfd32b0db465de9f1fd0202eb3

Author:    Martin Storsjö <[email protected]>
Committer: Martin Storsjö <[email protected]>
Date:      Tue Jan  8 23:21:15 2013 +0200

rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT

This allows the caller to either include them (and get more packets
decoded, but possibly some nonperfect frames), or discard them (by
setting fflags=discardcorrupt).

Signed-off-by: Martin Storsjö <[email protected]>

---

 libavformat/rtpdec_vp8.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libavformat/rtpdec_vp8.c b/libavformat/rtpdec_vp8.c
index 96a1a34..c1bffaa 100644
--- a/libavformat/rtpdec_vp8.c
+++ b/libavformat/rtpdec_vp8.c
@@ -90,6 +90,8 @@ static int vp8_handle_packet(AVFormatContext *ctx, 
PayloadContext *vp8,
             if (ret < 0)
                 return ret;
             *timestamp = vp8->timestamp;
+            if (vp8->sequence_dirty)
+                pkt->flags |= AV_PKT_FLAG_CORRUPT;
             return 0;
         }
         return AVERROR(EAGAIN);
@@ -199,6 +201,7 @@ static int vp8_handle_packet(AVFormatContext *ctx, 
PayloadContext *vp8,
                     if (ret < 0)
                         return ret;
                     pkt->size = vp8->first_part_size;
+                    pkt->flags |= AV_PKT_FLAG_CORRUPT;
                     returned_old_frame = 1;
                     old_timestamp = vp8->timestamp;
                 } else {
@@ -261,6 +264,8 @@ static int vp8_handle_packet(AVFormatContext *ctx, 
PayloadContext *vp8,
             return ret;
         if (vp8->broken_frame)
             pkt->size = vp8->first_part_size;
+        if (vp8->sequence_dirty)
+            pkt->flags |= AV_PKT_FLAG_CORRUPT;
         return 0;
     }
 

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to