[gst-devel] Bug in osxaudiosrc? (Mac OS 10.5.5)

Sjoerd Op 't Land sjoerd at intercue.nl
Thu Nov 13 15:45:21 CET 2008


Hello all,

Meanwhile I read some more on autoplugging and capfilters, but I still  
can't seem to get this pipeline to work. To determine whether or not  
this is a bug, could anyone using a Mac try these pipelines and report  
on the results? For example, does it work under 10.4?

I also mailed with the creator of the plugin, but he wrote:
> Please send to the gstreamer-devel mailing list.
>
> Zaheer


And so I did...

Thanks in advance for any input,
Sjoerd Op 't Land

Op 12 nov 2008, om 09:11 heeft Sjoerd Op 't Land het volgende  
geschreven:

> Hi Eric,
>
> Thanks for your quick response. In fact my problem is with
> osxaudiosrc, so let's focus on that element. In the source code of
> osxaudiosrc, I found this "Example launch line"
>
>   gst-launch -v -m osxaudiosrc ! fakesink
>
> Which generates (...)osxaudiosrc0: Could not negotiate format.
> Apparently, either (a) there is no format that satisfies the pads of
> osxaudiosrc and fakesink, or (b) there are multiple formats that
> satisfy the pads of osxaudiosrc and fakesink (is this reasoning
> correct?). Adding audioconvert ! audioresample does not help:
>
>   gst-launch -v -m osxaudiosrc ! audioconvert ! audioresample !
> fakesink
>
> Also results in (...)osxaudiosrc0: Could not negotiate format. Perhaps
> I should force the format:
>
>   gst-launch -v -m osxaudiosrc ! audioconvert ! audioresample ! audio/
> x-raw-float,rate=44100,channels=2,width=32,depth=32 ! fakesink
>
>   gst-launch -v -m osxaudiosrc ! audio/x-raw-
> float,rate=44100,channels=2,width=32,depth=32 ! audioconvert !
> audioresample ! audio/x-raw-
> float,rate=44100,channels=2,width=32,depth=32 ! fakesink
>
> Both result in (...)osxaudiosrc0: Could not negotiate format. For
> completeness I added the complete output at the bottom of this e-mail.
>
> Thanks in advance for any suggestions,
> Sjoerd Op 't Land
>
> Op 12 nov 2008, om 02:29 heeft Eric Zhang het volgende geschreven:
>
>> Hi, gstreamer-devel:
>>
>>    Actually, I don't get what your problem is. Maybe this is
>> because a language limitation. if you wanna use osxaudiosink, add
>> converter or any other filter elements into your pipeline, otherwise
>> the not-negotiation error occurs. This is the sample pipeline from
>> osxaudiosink's manual:
>>
>> gst-launch -v filesrc location=sine.ogg ! oggdemux ! vorbisdec !
>> audioconvert ! audioresample ! osxaudiosink
>>
>>    I think your can read gstreamer developer guide and maybe you
>> will figure out the answer yourself while reading it.
>>
>> Eric Zhang
>>
>>
>> 2008/11/11 Sjoerd Op 't Land <sjoerd at intercue.nl>
>> Hello all,
>>
>> I am new to gstreamer, so please forgive me if the errors encountered
>> are due to my inexperience. I am running Mac OS 10.5.5 on a MacBook
>> Core 2 Duo and I compiled gstreamer, gst-plugins-base and gst- 
>> plugins-
>> good from cvs (0.10.21.1).
>>
>> To start off, I wanted to create an audio loopthrough. First, I tried
>> to get the output to work. With a little modification, I was able to
>> produce a sine:
>>
>>> gst-launch audiotestsrc ! audioconvert ! audio/x-raw-
>> float,channels=2,width=32,depth=32 ! osxaudiosink
>>
>> (My first attempt failed, I don't know whether this is expected
>> behaviour:
>>> gst-launch audiotestsrc ! osxaudiosink
>> Setting pipeline to PAUSED ...
>> Pipeline is PREROLLING ...
>> ERROR: from element /GstPipeline:pipeline0/
>> GstAudioTestSrc:audiotestsrc0: Internal data flow error.
>> Additional debug info:
>> gstbasesrc.c(2292): gst_base_src_loop (): /GstPipeline:pipeline0/
>> GstAudioTestSrc:audiotestsrc0:
>> streaming task paused, reason not-negotiated (-4)
>> ERROR: pipeline doesn't want to preroll.
>> Setting pipeline to NULL ...
>> FREEING pipeline ...)
>>
>> The reason I am mailing you, is that I can't seem to get osxaudiosrc
>> to function, tried various stream types and convert/resample options.
>> The command line suggested in the source code unfortunately does not
>> function:
>>
>>> gst-launch -v -m osxaudiosrc ! fakesink
>> Setting pipeline to PAUSED ...
>> ERROR: Pipeline doesn't want to pause.
>> Got Message from element "fakesink0" (state-changed):  
>> GstMessageState,
>> old-state=(GstState)GST_STATE_NULL, new-
>> state=(GstState)GST_STATE_READY, pending-
>> state=(GstState)GST_STATE_VOID_PENDING;
>> Got Message from element "osxaudiosrc0" (state-changed):
>> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
>> state=(GstState)GST_STATE_READY, pending-
>> state=(GstState)GST_STATE_VOID_PENDING;
>> Got Message from element "pipeline0" (state-changed):  
>> GstMessageState,
>> old-state=(GstState)GST_STATE_NULL, new-
>> state=(GstState)GST_STATE_READY, pending-
>> state=(GstState)GST_STATE_PAUSED;
>> Got Message from element "osxaudiosrc0" (error): GstMessageError,
>> gerror=(GstGError)(NULL), debug=(string)"gstbasesrc.c\(2484\):\
>> gst_base_src_start\ \(\):\ /GstPipeline:pipeline0/
>> GstOsxAudioSrc:osxaudiosrc0:\012Check\ your\ filtered\ caps\,\ if\
>> any";
>> ERROR: from element /GstPipeline:pipeline0/
>> GstOsxAudioSrc:osxaudiosrc0: Could not negotiate format
>> Additional debug info:
>> gstbasesrc.c(2484): gst_base_src_start (): /GstPipeline:pipeline0/
>> GstOsxAudioSrc:osxaudiosrc0:
>> Check your filtered caps, if any
>> Setting pipeline to NULL ...
>> FREEING pipeline ...
>>
>> Thanks in advance for any suggestions. Again, I apologise beforehand
>> if this is an error of mine, due to my inexperience with GStreamer.
>>
>> Best regards,
>> Sjoerd Op 't Land
>
> ========= Output listing 1 =========
> $ gst-launch -v -m osxaudiosrc ! fakesink
> Setting pipeline to PAUSED ...
> ERROR: Pipeline doesn't want to pause.
> Got Message from element "fakesink0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "pipeline0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_PAUSED;
> Got Message from element "osxaudiosrc0" (error): GstMessageError,
> gerror=(GstGError)(NULL), debug=(string)"gstbasesrc.c\(2484\):\
> gst_base_src_start\ \(\):\ /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:\012Check\ your\ filtered\ caps\,\ if\  
> any";
> ERROR: from element /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0: Could not negotiate format
> Additional debug info:
> gstbasesrc.c(2484): gst_base_src_start (): /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:
> Check your filtered caps, if any
> Setting pipeline to NULL ...
> FREEING pipeline ...
>
> ========= Output listing 2 =========
> $ gst-launch -v -m osxaudiosrc ! audioconvert ! audioresample !  
> fakesink
> Setting pipeline to PAUSED ...
> ERROR: Pipeline doesn't want to pause.
> Got Message from element "fakesink0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioresample0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioconvert0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "pipeline0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_PAUSED;
> Got Message from element "audioresample0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioconvert0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (error): GstMessageError,
> gerror=(GstGError)(NULL), debug=(string)"gstbasesrc.c\(2484\):\
> gst_base_src_start\ \(\):\ /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:\012Check\ your\ filtered\ caps\,\ if\  
> any";
> ERROR: from element /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0: Could not negotiate format
> Additional debug info:
> gstbasesrc.c(2484): gst_base_src_start (): /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:
> Check your filtered caps, if any
> Setting pipeline to NULL ...
> FREEING pipeline ...
>
> ========= Output listing 3 =========
> $ gst-launch -v -m osxaudiosrc ! audioconvert ! audioresample ! audio/
> x-raw-float,rate=44100,channels=2,width=32,depth=32 ! fakesink
> Setting pipeline to PAUSED ...
> ERROR: Pipeline doesn't want to pause.
> Got Message from element "fakesink0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "capsfilter0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioresample0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioconvert0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "pipeline0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_PAUSED;
> Got Message from element "capsfilter0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioresample0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioconvert0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (error): GstMessageError,
> gerror=(GstGError)(NULL), debug=(string)"gstbasesrc.c\(2484\):\
> gst_base_src_start\ \(\):\ /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:\012Check\ your\ filtered\ caps\,\ if\  
> any";
> ERROR: from element /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0: Could not negotiate format
> Additional debug info:
> gstbasesrc.c(2484): gst_base_src_start (): /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:
> Check your filtered caps, if any
> Setting pipeline to NULL ...
> FREEING pipeline ...
>
> ========= Output listing 4 =========
> $ gst-launch -v -m osxaudiosrc ! audio/x-raw-
> float,rate=44100,channels=2,width=32,depth=32 ! audioconvert !
> audioresample ! audio/x-raw-
> float,rate=44100,channels=2,width=32,depth=32 ! fakesink
> Setting pipeline to PAUSED ...
> ERROR: Pipeline doesn't want to pause.
> Got Message from element "fakesink0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "capsfilter1" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioresample0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioconvert0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "capsfilter0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "pipeline0" (state-changed): GstMessageState,
> old-state=(GstState)GST_STATE_NULL, new-
> state=(GstState)GST_STATE_READY, pending-
> state=(GstState)GST_STATE_PAUSED;
> Got Message from element "capsfilter1" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioresample0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "audioconvert0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "capsfilter0" (state-changed):
> GstMessageState, old-state=(GstState)GST_STATE_READY, new-
> state=(GstState)GST_STATE_PAUSED, pending-
> state=(GstState)GST_STATE_VOID_PENDING;
> Got Message from element "osxaudiosrc0" (error): GstMessageError,
> gerror=(GstGError)(NULL), debug=(string)"gstbasesrc.c\(2484\):\
> gst_base_src_start\ \(\):\ /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:\012Check\ your\ filtered\ caps\,\ if\  
> any";
> ERROR: from element /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0: Could not negotiate format
> Additional debug info:
> gstbasesrc.c(2484): gst_base_src_start (): /GstPipeline:pipeline0/
> GstOsxAudioSrc:osxaudiosrc0:
> Check your filtered caps, if any
> Setting pipeline to NULL ...
> FREEING pipeline ...
>
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>





More information about the gstreamer-devel mailing list