mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
isomp4: set layout=interleaved on raw audio caps
This fixes a not-negotiated error at least on mov files with twos audio with two channels and video dvcp. As playbin and gst-launch sample coming from the qtdemux.c file uses audioconvert and the latter require format interleaved. https://bugzilla.gnome.org/show_bug.cgi?id=675326
This commit is contained in:
parent
cb4f470c7e
commit
a56361623c
1 changed files with 12 additions and 6 deletions
|
@ -9537,7 +9537,8 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
|
|||
case GST_MAKE_FOURCC ('r', 'a', 'w', ' '):
|
||||
_codec ("Raw 8-bit PCM audio");
|
||||
caps = gst_caps_new_simple ("audio/x-raw",
|
||||
"format", G_TYPE_STRING, "U8", NULL);
|
||||
"format", G_TYPE_STRING, "U8",
|
||||
"layout", G_TYPE_STRING, "interleaved", NULL);
|
||||
break;
|
||||
case GST_MAKE_FOURCC ('t', 'w', 'o', 's'):
|
||||
endian = G_BIG_ENDIAN;
|
||||
|
@ -9559,30 +9560,35 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
|
|||
g_free (str);
|
||||
|
||||
caps = gst_caps_new_simple ("audio/x-raw",
|
||||
"format", G_TYPE_STRING, gst_audio_format_to_string (format), NULL);
|
||||
"format", G_TYPE_STRING, gst_audio_format_to_string (format),
|
||||
"layout", G_TYPE_STRING, "interleaved", NULL);
|
||||
break;
|
||||
}
|
||||
case GST_MAKE_FOURCC ('f', 'l', '6', '4'):
|
||||
_codec ("Raw 64-bit floating-point audio");
|
||||
caps = gst_caps_new_simple ("audio/x-raw",
|
||||
"format", G_TYPE_STRING, "F64BE", NULL);
|
||||
"format", G_TYPE_STRING, "F64BE",
|
||||
"layout", G_TYPE_STRING, "interleaved", NULL);
|
||||
break;
|
||||
case GST_MAKE_FOURCC ('f', 'l', '3', '2'):
|
||||
_codec ("Raw 32-bit floating-point audio");
|
||||
caps = gst_caps_new_simple ("audio/x-raw",
|
||||
"format", G_TYPE_STRING, "F32BE", NULL);
|
||||
"format", G_TYPE_STRING, "F32BE",
|
||||
"layout", G_TYPE_STRING, "interleaved", NULL);
|
||||
break;
|
||||
case FOURCC_in24:
|
||||
_codec ("Raw 24-bit PCM audio");
|
||||
/* we assume BIG ENDIAN, an enda box will tell us to change this to little
|
||||
* endian later */
|
||||
caps = gst_caps_new_simple ("audio/x-raw",
|
||||
"format", G_TYPE_STRING, "S24BE", NULL);
|
||||
"format", G_TYPE_STRING, "S24BE",
|
||||
"layout", G_TYPE_STRING, "interleaved", NULL);
|
||||
break;
|
||||
case GST_MAKE_FOURCC ('i', 'n', '3', '2'):
|
||||
_codec ("Raw 32-bit PCM audio");
|
||||
caps = gst_caps_new_simple ("audio/x-raw",
|
||||
"format", G_TYPE_STRING, "S32BE", NULL);
|
||||
"format", G_TYPE_STRING, "S32BE",
|
||||
"layout", G_TYPE_STRING, "interleaved", NULL);
|
||||
break;
|
||||
case GST_MAKE_FOURCC ('u', 'l', 'a', 'w'):
|
||||
_codec ("Mu-law audio");
|
||||
|
|
Loading…
Reference in a new issue