[gst-devel] Problems when using osssink in ARM
Stefan Kost
ensonic at hora-obscura.de
Thu Dec 20 10:40:57 CET 2007
Hi,
there is now a speexresample element in -bad. Maybe that takes less CPU. If the
problem persists, its probably unrelated to the resampler.
Stefan
John Faith schrieb:
> Stefan Kost wrote:
>> hi,
>
> Hi Stefan,
>
>
>> Quoting John Faith:
>>> Hello,
>>> To follow up on my own post, I found that (as someone else found with
>>> another ARM board) that this problem seems to be due to a lack of CPU
>>> cycles. If I simplify the pipeline by using a .wav file with the same
>>> frequency which osssink wants (8kHz in my case), then the sound file
>>> plays fine and CPU usage is about 5% versus 99% using "mad !
>>> audioconvert ! audioresample".
>>>
>>> gst-launch filesrc location=file-8k.wav ! wavparse ! osssink
>>>
>>> This makes me wonder if there is any way to cause an error/exit if a
>>> pipeline is out of realtime. It would be nice if an application using
>>> gstreamer could tell the user what is happening instead of just
>>> delivering silence.
>>>
>> Can you run oprofile (it runs on arm). My guess its audioresample.
>> Unfortunately we don't do qos for audio. If we would audio-resample
>> could switch to a simple algorithm on high qos-ration to save cycles.
>
> I had difficulty in building oprofile against my 2.4 kernel, but I did
> see from ps and top that the 4th fork'ed gst-launch process was using
> all the CPU. In this pipeline:
> gst-launch filesrc location=file.mp3 ! mad ! audioconvert !
> audioresample ! osssink
>
> , I assume that means the audioresample part (if mad is the 2nd,
> audioconvert is the 3rd).
>
>
>> Can you try " audioresample filter-length=4 " and look at the cpu
>> usage. this will probably not good quality wise, but help to see if it
>> is the filter in the resampler.
>
> I tried adding "filter-length=4", but still have CPU usage at 99% and
> hear nothing.
>
> Thanks!,
> John
>
>
>>> John Faith wrote:
>>>> Hi Trimurthulu,
>>>> Thanks for the suggestion.
>>>>
>>>> With the 'sync=false', I still get mostly zeros for the data buffer, but
>>>> now about every 2.5 seconds, I get a short (~.2s) burst of noise and the
>>>> data buffer for the burst is mostly 0xFFs.
>>>>
>>>>
>>>> I assume I need the audioresample, since without it, I get:
>>>> ERROR: from element /pipeline0/filesrc0: Internal data flow error.
>>>> Additional debug info:
>>>> gstbasesrc.c(1642): gst_base_src_loop (): /pipeline0/filesrc0:
>>>> streaming task paused, reason not-negotiated (-4)
>>>> ERROR: pipeline doesn't want to preroll."
>>>> Setting pipeline to NULL ...
>>>> FREEING pipeline ...
>>>>
>>>>
>>>> Thanks,
>>>> John
>>>>
>>>>
>>>> trimurthulu amaradhi wrote:
>>>>> Hi,
>>>>>
>>>>> can you just try with the following
>>>>>
>>>>> gst-launch -v filesrc location=file.mp3 ! mad ! audioconvert
>>>>> ! osssink sync=false
>>>>>
>>>>> Trimurthulu
>>>>>
>>>>>
>>>>> On 9/29/07, John Faith <jfaith at freescale.com> wrote:
>>>>>> Hello,
>>>>>> I am seeing the same problem as is described earlier in this thread.
>>>>>> When I use 'gst-launch -v filesrc location=file.mp3 ! mad ! audioconvert
>>>>>> ! osssink', I get silence like the original poster.
>>>>>>
>>>>>> I have verified that madplay works on my ARM board, and I have heard the
>>>>>> short sample tone using 'gst-launch audiotestsrc ! audioconvert !
>>>>>> audioresample ! osssink', so I assume the hardware, OSS driver, and
>>>>>> gstreamer are mostly working.
>>>>>>
>>>>>> As an experiemnt, I used filesink instead of osssink, and used an OSS
>>>>>> utility to play the raw audio data. This also produced sound.
>>>>>>
>>>>>> Then I put printf()s in gst-plugins-good-0.10.5/sys/oss/gstosssink.c to
>>>>>> print out the first 10 bytes of the data passed to gst_oss_sink_write()
>>>>>> and saw only zeros, which explains the silence.
>>>>>>
>>>>>> Has anyone been able to solve this problem or could advise on other
>>>>>> debug methods? I have used --gst-debug-level, but I am not sure what to
>>>>>> look for.
>>>>>>
>>>>>> If I replace filesink with osssink, what might cause the data to be all
>>>>>> zeros?
>>>>>>
>>>>>> Thanks!,
>>>>>> John
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> 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