summaryrefslogtreecommitdiff
path: root/gst/mxf/mxfvc3.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2017-06-27 10:47:44 +0300
committerSebastian Dröge <sebastian@centricular.com>2017-06-27 10:47:44 +0300
commit830e89b7e9418c7039021ebc4060d5c922e928b0 (patch)
treebdf7c96123ae2d9a0c3bed2bb112f45e9f97232f /gst/mxf/mxfvc3.c
parentab9d87f168a20b48a3a7a718e621308d5778e257 (diff)
downloadgstreamer-plugins-bad-830e89b7e9418c7039021ebc4060d5c922e928b0.tar.gz
mxfdemux: Take temporal reordering from the index table into account
This is needed to know the PTS, without that we only know the DTS and using that also for the PTS is wrong unless we have an intra-only codec. If we can't get the temporal reordering from the index table, don't set any PTS for non-intra-only codecs and let decoders figure out something. https://bugzilla.gnome.org/show_bug.cgi?id=784027
Diffstat (limited to 'gst/mxf/mxfvc3.c')
-rw-r--r--gst/mxf/mxfvc3.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/mxf/mxfvc3.c b/gst/mxf/mxfvc3.c
index 2f2e5b074..638cffa3a 100644
--- a/gst/mxf/mxfvc3.c
+++ b/gst/mxf/mxfvc3.c
@@ -138,7 +138,8 @@ mxf_vc3_get_track_wrapping (const MXFMetadataTimelineTrack * track)
static GstCaps *
mxf_vc3_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
- MXFEssenceElementHandleFunc * handler, gpointer * mapping_data)
+ gboolean * intra_only, MXFEssenceElementHandleFunc * handler,
+ gpointer * mapping_data)
{
MXFMetadataFileDescriptor *f = NULL;
MXFMetadataGenericPictureEssenceDescriptor *p = NULL;
@@ -186,6 +187,7 @@ mxf_vc3_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
*tags = gst_tag_list_new_empty ();
gst_tag_list_add (*tags, GST_TAG_MERGE_APPEND, GST_TAG_VIDEO_CODEC,
"VC-3 Video", NULL);
+ *intra_only = TRUE;
return caps;
}