[Bug 739333] Add AMR decoder

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Nov 11 01:43:09 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=739333
  GStreamer | gst-omx | 1.2.4

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #290394|none                        |needs-work
             status|                            |

--- Comment #17 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2014-11-11 09:43:06 UTC ---
Review of attachment 290394:
 --> (https://bugzilla.gnome.org/review?bug=739333&attachment=290394)

::: omx/gstomxamrdec.c
@@ +64,3 @@
+
+  audiodec_class->cdata.default_sink_template_caps = "audio/AMR, "
+      "rate=(int)[8000,48000], "

It can only be 8000 for audio/AMR, and 16000 for audio/AMR-WB. So make these
caps:
"audio/AMR,rate=(int)8000,channels=(int)1;
audio/AMR-WB,rate=(int)16000,channels=(int)1"

@@ +132,3 @@
+
+  amr_param.nChannels = channels;
+  amr_param.nBitRate = rate;       /* unknown */

Not really unknown, is it? :) But the docs say that bitrate is a read-only
field, and also does not contain the sample rate.

I think you need to set eAMRBandMode properly though. See the possible values
of the OMX_AUDIO_AMRBANDMODETYPE enum

@@ +184,3 @@
+    return TRUE;
+
+  if (amr_param.nBitRate != rate)

Same here, bitrate is not sample rate.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list