summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux/qtdemux.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/qtdemux/qtdemux.c')
-rw-r--r--gst/qtdemux/qtdemux.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index c4ffb99f..21e7a3f2 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -3632,9 +3632,14 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
stream->sampled = TRUE;
stream->n_channels = 1;
stream->rate = 8000;
- }
- if (stream->fourcc == GST_MAKE_FOURCC ('m', 'p', '4', 'a'))
+ } else if (stream->fourcc == GST_MAKE_FOURCC ('s', 'a', 'w', 'b')) {
+ /* force mono 16000 Hz for AMR-WB */
+ stream->sampled = TRUE;
+ stream->n_channels = 1;
+ stream->rate = 16000;
+ } else if (stream->fourcc == GST_MAKE_FOURCC ('m', 'p', '4', 'a')) {
stream->sampled = TRUE;
+ }
/* sample to chunk */
stsc = qtdemux_tree_get_child_by_type (stbl, FOURCC_stsc);
@@ -4580,6 +4585,9 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
case GST_MAKE_FOURCC ('s', 'a', 'm', 'r'):
_codec ("AMR audio");
return gst_caps_new_simple ("audio/AMR", NULL);
+ case GST_MAKE_FOURCC ('s', 'a', 'w', 'b'):
+ _codec ("AMR-WB audio");
+ return gst_caps_new_simple ("audio/AMR-WB", NULL);
case GST_MAKE_FOURCC ('i', 'm', 'a', '4'):
_codec ("Quicktime IMA ADPCM");
return gst_caps_new_simple ("audio/x-adpcm",