summaryrefslogtreecommitdiffstats
path: root/gst/mxf/mxfaes-bwf.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/mxf/mxfaes-bwf.c')
-rw-r--r--gst/mxf/mxfaes-bwf.c44
1 files changed, 20 insertions, 24 deletions
diff --git a/gst/mxf/mxfaes-bwf.c b/gst/mxf/mxfaes-bwf.c
index b684c193..9acdf673 100644
--- a/gst/mxf/mxfaes-bwf.c
+++ b/gst/mxf/mxfaes-bwf.c
@@ -664,14 +664,13 @@ mxf_bwf_create_caps (MXFMetadataTimelineTrack * track,
descriptor->channel_count) / 8;
ret = gst_caps_new_simple ("audio/x-raw-int",
- "rate", G_TYPE_INT,
- (gint) (((gdouble) descriptor->audio_sampling_rate.n) /
- ((gdouble) descriptor->audio_sampling_rate.d) + 0.5), "channels",
- G_TYPE_INT, descriptor->channel_count, "signed", G_TYPE_BOOLEAN,
+ "signed", G_TYPE_BOOLEAN,
(block_align != 1), "endianness", G_TYPE_INT, G_LITTLE_ENDIAN, "depth",
G_TYPE_INT, (block_align / descriptor->channel_count) * 8, "width",
G_TYPE_INT, (block_align / descriptor->channel_count) * 8, NULL);
+ mxf_metadata_generic_sound_essence_descriptor_set_caps (descriptor, ret);
+
codec_name =
g_strdup_printf ("Uncompressed %u-bit little endian integer PCM audio",
(block_align / descriptor->channel_count) * 8);
@@ -695,14 +694,13 @@ mxf_bwf_create_caps (MXFMetadataTimelineTrack * track,
descriptor->channel_count) / 8;
ret = gst_caps_new_simple ("audio/x-raw-int",
- "rate", G_TYPE_INT,
- (gint) (((gdouble) descriptor->audio_sampling_rate.n) /
- ((gdouble) descriptor->audio_sampling_rate.d) + 0.5), "channels",
- G_TYPE_INT, descriptor->channel_count, "signed", G_TYPE_BOOLEAN,
+ "signed", G_TYPE_BOOLEAN,
(block_align != 1), "endianness", G_TYPE_INT, G_BIG_ENDIAN, "depth",
G_TYPE_INT, (block_align / descriptor->channel_count) * 8, "width",
G_TYPE_INT, (block_align / descriptor->channel_count) * 8, NULL);
+ mxf_metadata_generic_sound_essence_descriptor_set_caps (descriptor, ret);
+
codec_name =
g_strdup_printf ("Uncompressed %u-bit big endian integer PCM audio",
(block_align / descriptor->channel_count) * 8);
@@ -715,10 +713,9 @@ mxf_bwf_create_caps (MXFMetadataTimelineTrack * track,
GST_ERROR ("Invalid descriptor");
return NULL;
}
- ret = gst_caps_new_simple ("audio/x-alaw", "rate", G_TYPE_INT,
- (gint) (((gdouble) descriptor->audio_sampling_rate.n) /
- ((gdouble) descriptor->audio_sampling_rate.d) + 0.5),
- "channels", G_TYPE_INT, descriptor->channel_count);
+ ret = gst_caps_new_simple ("audio/x-alaw", NULL);
+ mxf_metadata_generic_sound_essence_descriptor_set_caps (descriptor, ret);
+
codec_name = g_strdup ("A-law encoded audio");
} else {
GST_ERROR ("Unsupported sound essence compression: %s",
@@ -773,14 +770,13 @@ mxf_aes3_create_caps (MXFMetadataTimelineTrack * track,
descriptor->channel_count) / 8;
ret = gst_caps_new_simple ("audio/x-raw-int",
- "rate", G_TYPE_INT,
- (gint) (((gdouble) descriptor->audio_sampling_rate.n) /
- ((gdouble) descriptor->audio_sampling_rate.d) + 0.5), "channels",
- G_TYPE_INT, descriptor->channel_count, "signed", G_TYPE_BOOLEAN,
+ "signed", G_TYPE_BOOLEAN,
(block_align != 1), "endianness", G_TYPE_INT, G_LITTLE_ENDIAN, "depth",
G_TYPE_INT, (block_align / descriptor->channel_count) * 8, "width",
G_TYPE_INT, (block_align / descriptor->channel_count) * 8, NULL);
+ mxf_metadata_generic_sound_essence_descriptor_set_caps (descriptor, ret);
+
codec_name =
g_strdup_printf ("Uncompressed %u-bit AES3 audio",
(block_align / descriptor->channel_count) * 8);
@@ -816,24 +812,24 @@ mxf_aes_bwf_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
if (!track->parent.descriptor[i])
continue;
- if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->parent.
- descriptor[i])
+ if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->
+ parent.descriptor[i])
&& (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] == 0x08)) {
- s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
- descriptor[i];
+ s = (MXFMetadataGenericSoundEssenceDescriptor *) track->
+ parent.descriptor[i];
bwf = TRUE;
break;
} else
- if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->parent.
- descriptor[i])
+ if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->
+ parent.descriptor[i])
&& (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] == 0x09)) {
- s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
- descriptor[i];
+ s = (MXFMetadataGenericSoundEssenceDescriptor *) track->
+ parent.descriptor[i];
bwf = FALSE;
break;
}