[gst-devel] decodebin2 doesn't call my decoder

Michael Smith msmith at xiph.org
Thu Jun 17 22:34:21 CEST 2010


On Thu, Jun 17, 2010 at 1:14 PM, Yuancheng Zheng
<Yuancheng.Zheng at palm.com> wrote:
>
> Hi,
>
> I implemented an voice decoder plugin "audiodecoder" with data type, ie. ydt. I can succeed in playing back a file with gst-launch in this way:
>    gst-launch filesrc location data.ydt  !  audiodecoder  !  filesink location=myout.pcm
>
> However, I failed in playing back the same file using decodebin2 in this way:
>    gst-launch filesrc location data.ydt  !  decodebin2  !  filesink location=myout.pcm

The problem becomes obvious looking at your template caps for your decoder:

>
> The setting of pads of my audiodecoder plugin are as below:
> static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
>    GST_PAD_SINK,
>    GST_PAD_ALWAYS,
>    GST_STATIC_CAPS ( "audio/x-raw-int, endianness = (int) BYTE_ORDER, signed = (boolean) true, width = (int) 16, depth = (int) 16, channels = (int) 1, rate = (int) 8000")
>    );

Your decoder only accepts audio/x-raw-int, i.e. raw PCM audio. You
presumably wanted this to be your "audio/ydt" format.

Mike




More information about the gstreamer-devel mailing list