summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Härdin <tomas.hardin@codemill.se>2011-12-07 17:43:36 +0100
committerJanne Grunau <janne-libav@jannau.net>2012-01-22 14:40:53 +0100
commitbe78e3f6ec42b150256830873a62c7f3e4f0a24d (patch)
treeaf6330e8dc17c0f7ef2202159ebcebadce9b763a
parent775d3b4ab174d3654864668beb8a68657bc6da9b (diff)
mxfdec: parse ThisPartition
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
-rw-r--r--libavformat/mxfdec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 2ab2efebf8..5ce9a24382 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -78,6 +78,7 @@ typedef struct {
uint64_t previous_partition;
int index_sid;
int body_sid;
+ int64_t this_partition;
} MXFPartition;
typedef struct {
@@ -467,7 +468,8 @@ static int mxf_read_partition_pack(void *arg, AVIOContext *pb, int tag, int size
/* consider both footers to be closed (there is only Footer and CompleteFooter) */
partition->closed = partition->type == Footer || !(uid[14] & 1);
partition->complete = uid[14] > 2;
- avio_skip(pb, 16);
+ avio_skip(pb, 8);
+ partition->this_partition = avio_rb64(pb);
partition->previous_partition = avio_rb64(pb);
footer_partition = avio_rb64(pb);
avio_skip(pb, 16);
@@ -486,8 +488,9 @@ static int mxf_read_partition_pack(void *arg, AVIOContext *pb, int tag, int size
}
}
- av_dlog(mxf->fc, "PartitionPack: PreviousPartition = 0x%lx, "
+ av_dlog(mxf->fc, "PartitionPack: ThisPartition = 0x%lx, PreviousPartition = 0x%lx, "
"FooterPartition = 0x%lx, IndexSID = %i, BodySID = %i\n",
+ partition->this_partition,
partition->previous_partition, footer_partition,
partition->index_sid, partition->body_sid);