Error using dshwodecwrapper

Michael Smith msmith at xiph.org
Wed Sep 7 13:38:28 PDT 2011


The registry is always required - even on the first run, it gets
created and then used.

You may be right that there's a race condition of some sort; you'll
need to debug that. However, be warned: the dshow mp3 decoder does not
work very well with real-world mp3 files, it'll frequently error out.
This is not a problem with the gstreamer wrapper, it's a problem with
the underlying dshow element.

On windows, you can instead use the acmmp3dec element.

The WMA problem remains simply that you're using a decoder for a
different format from what your file actually contains.

Mike


On Wed, Sep 7, 2011 at 1:04 PM, Srinivas Sakhamuri
<sr.sakhamuri at gmail.com> wrote:
> I have some more information on this, when I remove the registry bin file
> then I don't receive the error filesrc0 (see FIRST LOG below) and it starts
> playing the mp3 file, I didn't have much success with wma files.
> And when the registry is removed it starts to play look at the SECOND LOG.
> I am guessing there is some timing issue from the first push and when
> decoder is ready causing the erratic behaviour, which probably eliminated
> when all the plugins are being iterated for registry creation.
> Is there a way we can skip the registry creation, is it only a compile time
> option?
> Windows builds (http://code.google.com/p/ossbuild/) are probably a bit older
> is there a fix in the later releases for any registry related bug?
>
> FIRST LOG:
> dshow_adec_register
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_init
> Setting pipeline to PAUSED ...
> gst_dshowaudiodec_change_state
> gst_dshowaudiodec_create_graph_and_filters
> gst_dshowaudiodec_create_graph_and_filters_task
> gst_dshowaudiodec_change_state
> Pipeline is PREROLLING ...
> gst_dshowaudiodec_sink_event
> gst_dshowaudiodec_sink_event
> gst_dshowaudiodec_sink_event
> gst_dshowaudiodec_sink_event
> ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal
> data flow error.
> Additional debug info:
> gstbasesrc.c(2543): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstFileSrc:filesrc0:
> streaming task paused, reason not-negotiated (-4)
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> gst_dshowaudiodec_change_state
> gst_dshowaudiodec_change_state
> gst_dshowaudiodec_destroy_graph_and_filters
> gst_dshowaudiodec_destroy_graph_and_filters_task
> Freeing pipeline ...
> SECOND LOG:
> dshow_adec_register
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_base_init
> gst_dshowaudiodec_class_init
> gst_dshowaudiodec_init
> Setting pipeline to PAUSED ...
> gst_dshowaudiodec_change_state
> gst_dshowaudiodec_create_graph_and_filters
> gst_dshowaudiodec_create_graph_and_filters_task
> gst_dshowaudiodec_change_state
> Pipeline is PREROLLING ...
> gst_dshowaudiodec_sink_event
> gst_dshowaudiodec_sink_event
> gst_dshowaudiodec_sink_event
> gst_dshowaudiodec_sink_setcaps
> gst_dshowaudiodec_setup_graph
> gst_dshowaudiodec_setup_graph_task
> dshowaudiodec_set_input_format
> dshowaudiodec_set_output_format
> gst_dshowaudiodec_get_filter_settings
> AudioFakeSink::CheckMediaType
> gst_dshowaudiodec_chain
> gst_dshowaudiodec_chain_task
> gst_dshowaudiodec_flush
> gst_dshowaudiodec_chain
> gst_dshowaudiodec_chain_task
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> gst_dshowaudiodec_change_state
> gst_dshowaudiodec_chain
>
> Srinivas
>
> On Wed, Sep 7, 2011 at 4:50 AM, Srinivas Sakhamuri <sr.sakhamuri at gmail.com>
> wrote:
>>
>> Hi
>> Decodebin2 is picking up ffmpeg codec which is not what I want,
>> Adding asfdemux is not working either, in the following pipeline
>> this works ok: gst-launch -ev  --gst-plugin-spew filesrc
>> location=c:\\Heavy.wma ! asfdemux ! ffdec_wmav2 ! autoaudiosink
>> but this doesn't work: gst-launch -ev  --gst-plugin-spew filesrc
>> location=c:\\Heavy.wma ! asfdemux ! dshowadec_wma4 ! autoaudiosink
>> I think the problem is with dshowadec_wma4, and dshowadec_mp3 playback
>> also doesn't work. I tried debugging the issue but not being familiar with
>> the code it could take a while.
>> Can anybody help me point out the issue with dshowdecwrapper or provide me
>> directshow filter related debugging tips to root out this issue?
>> Srinivas
>>
>> Date: Tue, 6 Sep 2011 16:26:00 -0700
>> From: Michael Smith <msmith at xiph.org>
>> Subject: Re: Error using dshwodecwrapper
>> To: Discussion of the development of and with GStreamer
>>        <gstreamer-devel at lists.freedesktop.org>
>> Message-ID:
>>
>>  <CAB=BY8uTUKH-Hj=_PyZArs0Fk_zK9OHQeVN951rDHkUrzsab2A at mail.gmail.com>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> You will need asfdemux in there; WMA files are ASF containing WMA.
>> Then the decoder you need to use will depend on exactly what codec is
>> used in your file.
>>
>> If you use decodebin2, this will all be done for you automatically.
>>
>> Mike
>>
>> On Tue, Sep 6, 2011 at 5:07 PM, Srinivas Sakhamuri
>> <sr.sakhamuri at gmail.com> wrote:
>>>
>>> Hi
>>> I am facing few problems using the dshowdecwrapper's elements
>>> dshowadec_mp3 and wma
>>> Here is the pipeline commandline: gst-launch  filesrc
>>> location=c:\\mellow.wma ! dshowadec_wma4 ! audioconvert ! directsoundsink
>>> Is the right way to construct the pipeline? It always hangs at
>>> pre-rolling. Debugging it I found it's not
>>> calling gst_dshowaudiodec_sink_setcaps function and calling
>>> directly gst_dshowaudiodec_chain, not sure it is correct or not.
>>> I have attached the zip file with the error log at debug level 5. Can you
>>> please let me know if there is something with the element or pipeline
>>> construction etc.
>>> Error log is also here: http://dl.dropbox.com/u/418325/error.zip
>>> thanks
>>> Srinivas
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>


More information about the gstreamer-devel mailing list