changeset 2404:2ca025105808 libavformat

Take ring frame into account when demuxing. This fixes issue 97.
author kostya
date Thu, 23 Aug 2007 06:59:19 +0000
parents a7e0737b3477
children 1c57f2391cf9
files smacker.c
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/smacker.c	Wed Aug 22 12:41:16 2007 +0000
+++ b/smacker.c	Thu Aug 23 06:59:19 2007 +0000
@@ -28,6 +28,7 @@
 #include "bswap.h"
 
 #define SMACKER_PAL 0x01
+#define SMACKER_FLAG_RING_FRAME 0x01
 
 enum SAudFlags {
     SMK_AUD_PACKED  = 0x80000000,
@@ -112,6 +113,8 @@
     smk->frames = get_le32(pb);
     smk->pts_inc = (int32_t)get_le32(pb);
     smk->flags = get_le32(pb);
+    if(smk->flags & SMACKER_FLAG_RING_FRAME)
+        smk->frames++;
     for(i = 0; i < 7; i++)
         smk->audio[i] = get_le32(pb);
     smk->treesize = get_le32(pb);