summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@gnome.org>2015-10-11 12:06:26 +0100
committerThibault Saunier <tsaunier@gnome.org>2015-10-28 14:19:00 +0100
commit61b676ce9c965707482e5fc2246493e3f38dc988 (patch)
tree71b32a922c39eb8d2a5369304a4a58885f65c4c6
parent78e5871e52666f5906d1e21839f1d5c47b2acd1a (diff)
downloadgstreamer-plugins-good-61b676ce9c965707482e5fc2246493e3f38dc988.tar.gz
qtmux: Allow negotiating to S8 as a raw format but stop making it best choice
Negotiation to audio/x-raw,format=S8 was not possible because S8 does not have a bit order so we ended up doing `if (!entry.fourcc) goto refuse_caps;` https://bugzilla.gnome.org/show_bug.cgi?id=756387
-rw-r--r--gst/isomp4/gstqtmux.c2
-rw-r--r--gst/isomp4/gstqtmuxmap.c8
2 files changed, 4 insertions, 6 deletions
diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c
index e1e22df50..7f72443e0 100644
--- a/gst/isomp4/gstqtmux.c
+++ b/gst/isomp4/gstqtmux.c
@@ -3557,6 +3557,8 @@ gst_qt_mux_audio_sink_set_caps (GstQTPad * qtpad, GstCaps * caps)
entry.fourcc = FOURCC_sowt;
else if (info.finfo->endianness == G_BIG_ENDIAN)
entry.fourcc = FOURCC_twos;
+ else
+ entry.fourcc = FOURCC_sowt;
/* maximum backward compatibility; only new version for > 16 bit */
if (info.finfo->depth <= 16)
entry.version = 0;
diff --git a/gst/isomp4/gstqtmuxmap.c b/gst/isomp4/gstqtmuxmap.c
index 006f16d33..1a8b6cec0 100644
--- a/gst/isomp4/gstqtmuxmap.c
+++ b/gst/isomp4/gstqtmuxmap.c
@@ -97,15 +97,11 @@
COMMON_AUDIO_CAPS (2, MAX)
#define PCM_CAPS_FULL \
- PCM_CAPS "; " \
"audio/x-raw, " \
- "format = (string) { S24LE, S24BE }, " \
+ "format = (string) { S32LE, S32BE, S24LE, S24BE }, " \
"layout = (string) interleaved, " \
COMMON_AUDIO_CAPS (2, MAX) "; " \
- "audio/x-raw, " \
- "format = (string) { S32LE, S32BE }, " \
- "layout = (string) interleaved, " \
- COMMON_AUDIO_CAPS (2, MAX)
+ PCM_CAPS
#define MP3_CAPS \
"audio/mpeg, " \