mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 04:56:24 +00:00
mxfaes-bwf: Handle new custom-constant-sized variant
Defined by Amendment 2:2013 to SMPTE ST 382:2007 Also define a new "UNKNOWN" wrapping type to make the difference with known wrapping types Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
This commit is contained in:
parent
f502ef9053
commit
8817b08d5e
2 changed files with 13 additions and 5 deletions
|
@ -1122,7 +1122,8 @@ mxf_is_aes_bwf_essence_track (const MXFMetadataTimelineTrack * track)
|
||||||
(key->u[14] == 0x01 ||
|
(key->u[14] == 0x01 ||
|
||||||
key->u[14] == 0x02 ||
|
key->u[14] == 0x02 ||
|
||||||
key->u[14] == 0x03 ||
|
key->u[14] == 0x03 ||
|
||||||
key->u[14] == 0x04 || key->u[14] == 0x08 || key->u[14] == 0x09))
|
key->u[14] == 0x04 || key->u[14] == 0x08 || key->u[14] == 0x09 ||
|
||||||
|
key->u[14] == 0x0a || key->u[14] == 0x0b))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1160,8 +1161,12 @@ mxf_aes_bwf_get_track_wrapping (const MXFMetadataTimelineTrack * track)
|
||||||
break;
|
break;
|
||||||
case 0x08:
|
case 0x08:
|
||||||
case 0x09:
|
case 0x09:
|
||||||
default:
|
case 0x0a:
|
||||||
|
case 0x0b:
|
||||||
return MXF_ESSENCE_WRAPPING_CUSTOM_WRAPPING;
|
return MXF_ESSENCE_WRAPPING_CUSTOM_WRAPPING;
|
||||||
|
default:
|
||||||
|
GST_WARNING ("Unknown frame wrapping");
|
||||||
|
return MXF_ESSENCE_WRAPPING_UNKNOWN_WRAPPING;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1437,7 +1442,8 @@ mxf_aes_bwf_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
|
||||||
descriptor[i])
|
descriptor[i])
|
||||||
&& (track->parent.descriptor[i]->essence_container.u[14] == 0x01
|
&& (track->parent.descriptor[i]->essence_container.u[14] == 0x01
|
||||||
|| track->parent.descriptor[i]->essence_container.u[14] == 0x02
|
|| track->parent.descriptor[i]->essence_container.u[14] == 0x02
|
||||||
|| track->parent.descriptor[i]->essence_container.u[14] == 0x08)) {
|
|| track->parent.descriptor[i]->essence_container.u[14] == 0x08
|
||||||
|
|| track->parent.descriptor[i]->essence_container.u[14] == 0x0a)) {
|
||||||
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
|
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
|
||||||
descriptor[i];
|
descriptor[i];
|
||||||
bwf = TRUE;
|
bwf = TRUE;
|
||||||
|
@ -1447,7 +1453,8 @@ mxf_aes_bwf_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
|
||||||
descriptor[i])
|
descriptor[i])
|
||||||
&& (track->parent.descriptor[i]->essence_container.u[14] == 0x03
|
&& (track->parent.descriptor[i]->essence_container.u[14] == 0x03
|
||||||
|| track->parent.descriptor[i]->essence_container.u[14] == 0x04
|
|| track->parent.descriptor[i]->essence_container.u[14] == 0x04
|
||||||
|| track->parent.descriptor[i]->essence_container.u[14] == 0x09)) {
|
|| track->parent.descriptor[i]->essence_container.u[14] == 0x09
|
||||||
|
|| track->parent.descriptor[i]->essence_container.u[14] == 0x0b)) {
|
||||||
|
|
||||||
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
|
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
|
||||||
descriptor[i];
|
descriptor[i];
|
||||||
|
|
|
@ -29,7 +29,8 @@
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MXF_ESSENCE_WRAPPING_FRAME_WRAPPING,
|
MXF_ESSENCE_WRAPPING_FRAME_WRAPPING,
|
||||||
MXF_ESSENCE_WRAPPING_CLIP_WRAPPING,
|
MXF_ESSENCE_WRAPPING_CLIP_WRAPPING,
|
||||||
MXF_ESSENCE_WRAPPING_CUSTOM_WRAPPING
|
MXF_ESSENCE_WRAPPING_CUSTOM_WRAPPING,
|
||||||
|
MXF_ESSENCE_WRAPPING_UNKNOWN_WRAPPING
|
||||||
} MXFEssenceWrapping;
|
} MXFEssenceWrapping;
|
||||||
|
|
||||||
typedef GstFlowReturn (*MXFEssenceElementHandleFunc) (const MXFUL *key, GstBuffer *buffer, GstCaps *caps, MXFMetadataTimelineTrack *track, gpointer mapping_data, GstBuffer **outbuf);
|
typedef GstFlowReturn (*MXFEssenceElementHandleFunc) (const MXFUL *key, GstBuffer *buffer, GstCaps *caps, MXFMetadataTimelineTrack *track, gpointer mapping_data, GstBuffer **outbuf);
|
||||||
|
|
Loading…
Reference in a new issue