diff options
Diffstat (limited to 'gst/mxf/mxfjpeg2000.c')
-rw-r--r-- | gst/mxf/mxfjpeg2000.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/gst/mxf/mxfjpeg2000.c b/gst/mxf/mxfjpeg2000.c index 7ccb4818..818f6b25 100644 --- a/gst/mxf/mxfjpeg2000.c +++ b/gst/mxf/mxfjpeg2000.c @@ -50,7 +50,12 @@ mxf_is_jpeg2000_essence_track (const MXFMetadataTrack * track) for (i = 0; i < track->n_descriptor; i++) { MXFMetadataFileDescriptor *d = track->descriptor[i]; - MXFUL *key = &d->essence_container; + MXFUL *key; + + if (!d) + continue; + + key = &d->essence_container; /* SMPTE 422M 5.4 */ if (mxf_is_generic_container_essence_container_label (key) && key->u[12] == 0x02 && key->u[13] == 0x0c && @@ -99,19 +104,16 @@ mxf_jpeg2000_create_caps (MXFMetadataGenericPackage * package, } for (i = 0; i < track->n_descriptor; i++) { - if (((MXFMetadataGenericDescriptor *) track->descriptor[i])->type == - MXF_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR || - ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type == - MXF_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR || - ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type == - MXF_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR) { + if (!track->descriptor[i]) + continue; + + if (MXF_IS_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR (track-> + descriptor[i])) { p = (MXFMetadataGenericPictureEssenceDescriptor *) track->descriptor[i]; f = track->descriptor[i]; break; - } else if (((MXFMetadataGenericDescriptor *) track->descriptor[i])-> - is_file_descriptor - && ((MXFMetadataGenericDescriptor *) track->descriptor[i])->type != - MXF_METADATA_MULTIPLE_DESCRIPTOR) { + } else if (MXF_IS_METADATA_FILE_DESCRIPTOR (track->descriptor[i]) && + !MXF_IS_METADATA_MULTIPLE_DESCRIPTOR (track->descriptor[i])) { f = track->descriptor[i]; } } @@ -122,13 +124,9 @@ mxf_jpeg2000_create_caps (MXFMetadataGenericPackage * package, } fourcc = GST_MAKE_FOURCC ('s', 'R', 'G', 'B'); - if (p - && ((MXFMetadataGenericDescriptor *) p)->type == - MXF_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR) { + if (p && MXF_IS_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR (p)) { fourcc = GST_MAKE_FOURCC ('s', 'Y', 'U', 'V'); - } else if (p - && ((MXFMetadataGenericDescriptor *) p)->type == - MXF_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR) { + } else if (p && MXF_IS_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR (p)) { MXFMetadataRGBAPictureEssenceDescriptor *r = (MXFMetadataRGBAPictureEssenceDescriptor *) p; gboolean rgb = TRUE; @@ -199,3 +197,8 @@ mxf_jpeg2000_create_caps (MXFMetadataGenericPackage * package, return caps; } + +void +mxf_jpeg2000_init (void) +{ +} |