<div dir="ltr">Usually, there are two reason to cause shutters in playback. <br>1) The decoder/demux cannot generate data in time. If the frame is delayed, the ringbuffer in sink will drop it. To track it, you can add some long in gstringbuffer.c to monitor "skip".<br>
<br>gst_ring_buffer_commit_full()<br>{<br>......<br> /* segment too far ahead, writer too slow, we need to drop, hopefully UNLIKELY */<br> if (G_UNLIKELY (diff < 0)) {<br> /* we need to drop one segment at a time, pretend we wrote a<br>
* segment. */<br> <span style="color: rgb(255, 0, 0);">skip = TRUE;</span><br> break;<br> }<br>......<br>}<br><br>If the ringbuffer drop the frame, please check you decoder/demux's speed firstly.<br>
<br>2) the audio device's buffer is not configure correctly. Of cause, you are debugging it. <br><br><br><div class="gmail_quote">On Sat, Aug 2, 2008 at 4:19 AM, Dennis Fleming <span dir="ltr"><<a href="mailto:arsantiqua@sbcglobal.net">arsantiqua@sbcglobal.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>It's interesting that I am getting the opposite problem. Ie. stutters for wav and not for MP3. It looks like we were optimizing internal buffers for 44.1 kHz. However, 22.05kHz had problems with buffer-time=10000 and latency-time=100. Going back to the defaults 220xkHz worked but 44.1 was sensitive to activity on the system. I'll try the sync fix to see what happens on my device.<br>
<br>Dennis<br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><div class="Ih2E3d">----- Original Message ----<br>
From: Jan Schmidt <<a href="mailto:thaytan@noraisin.net" target="_blank">thaytan@noraisin.net</a>><br>To: Raj Swaminathan <<a href="mailto:rajshyam@gmail.com" target="_blank">rajshyam@gmail.com</a>><br>Cc: <a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a><br>
</div><div><div></div><div class="Wj3C7c">Sent: Friday, August 1, 2008
12:08:27 PM<br>Subject: Re: [gst-embedded] noise and stuttering<br><br><br>On Fri, 2008-08-01 at 13:51 -0500, Raj Swaminathan wrote:<br>> <br>> Can u also explain why the async fix helped ? <br><br>It helps because it deactivates the clock-synching in the audiosink,<br>
which means that the file plays at the speed it manages to read, decode<br>and output the samples -> that's slower than real-time in this case,<br>which is why you're getting 'stuttering'.<br><br>Measure how long the file takes to play with 'time' compared to the<br>
duration of the file.<br><br>J.<br><br>> <br>> On Fri, Aug 1, 2008 at 1:23 PM, Raj Swaminathan <<a href="mailto:rajshyam@gmail.com" target="_blank">rajshyam@gmail.com</a>><br>> wrote:<br>> <br>> Hey Dan,<br>
> <br>> That worked ... its stuttering .. but keeps
playing ....<br>> thanks a ton ! <br>> <br>> osssink: wav file play fine <br>> mp3 files, http links stutter but output sound<br>> when buffer-time=1000 latency-time=100 sync=false <br>
> <br>> <br>> Is there any such fix for esdsink ?? <br>> Are there more properties that can be modified to stop the<br>> stuttering ?? <br>> <br>
> regards,<br>> raj<br>> <br>> <br>> <br>>
<br>> On Fri, Aug 1, 2008 at 12:52 PM, Daniel Charles<br>> <<a href="mailto:dcharlesm@gmail.com" target="_blank">dcharlesm@gmail.com</a>> wrote:<br>> Hi Raj,<br>> <br>
> Have you tried sync=false in the osssink? I'm not<br>> sure that this is<br>> within your purposes but in some cases that removes<br>> the glitches.<br>
> <br>> Daniel.<br>>
<br>> <br>> On Fri, Aug 1, 2008 at 12:41 PM, Raj Swaminathan<br>> <<a href="mailto:rajshyam@gmail.com" target="_blank">rajshyam@gmail.com</a>> wrote:<br>
> ><br>> > Hi everyone,<br>> ><br>> > Im having stuttering and stopping issues with<br>> gstreamer on the OMAP 2430...<br>
> > I am using an NFS mounted file system via<br>>
ethernet ...<br>> ><br>> > osssink: WAV files play without an issue.<br>> > mp3 files output sound and stop after<br>> a few seconds if i set<br>
> > buffer-time=1000 and latency-time=100<br>> > mp3 files do not output sound without<br>> the settings above.<br>> > streaming music from http links do
not<br>> work under any<br>> > setting.<br>> ><br>> > esdsink: WAV files do not play.<br>> > mp3 files play nicely.<br>
> > streaming music from http links output<br>> sound and stop after a<br>> > few seconds.<br>> ><br>> > My sources: filesrc,
souphttpsrc<br>> > My decoders: wavparse, mad<br>> ><br>> > Ive experimented with placing queues before decoding<br>> and before sending<br>
> > audio to the sink. Trying both ways or either/or, do<br>> not impact the output<br>> > signifcantly.<br>> > Can anyone provide some suggestions?<br>
> ><br>> > Thanks for your help so far.<br>>
><br>> > regards,<br>> > raj<br>> ><br>> > On Thu, Jul 31, 2008 at 4:42 AM, Jan Schmidt<br>> <<a href="mailto:thaytan@noraisin.net" target="_blank">thaytan@noraisin.net</a>> wrote:<br>
> >><br>> >> On Wed, 2008-07-30 at 08:50 -0700, Dennis Fleming<br>> wrote:<br>> >> > First off: Thank to you and Zhoa-Lang for
getting<br>> back so quickly.<br>> >> > I'm so busy I forgot my manners.<br>> >> ><br>> >> > Testing to find the parameters I have I used<br>
> decodebin, but in the<br>> >> > program itself uses playbin with the same effect.<br>> The only variation<br>> >> > is that I set the sink property to alsasink since<br>
> that seems the only<br>>
>> > way to set buffer-time and latency-time<br>> properties. Also, it seems<br>> >> > counter-intuitive to me that an uncompressed WAV<br>> file should have<br>
> >> > problems keeping up while MP3s with the same<br>> sampling frequency and<br>> >> > word size have none. And yet the artifacts are<br>> indicative of dropped<br>
> >> > buffers.<br>> >><br>>
>> If the bottleneck is retrieving data from the input<br>> location, then it's<br>> >> entirely feasible. What's your data store? SD card,<br>> NFS? A WAV file<br>
> >> might be 10 or more times more data to read and<br>> cause read stalls, where<br>> >> the smaller mp3 can be read in fine and decoded in<br>> memory with no<br>
> >> further problems.<br>>
>><br>> >> J.<br>> >><br>> >> > Dennis<br>> >> ><br>> >> ><br>> >> > ----- Original Message ----<br>
> >> > From: Thijs Vermeir <<a href="mailto:thijsvermeir@gmail.com" target="_blank">thijsvermeir@gmail.com</a>><br>> >> > To: Dennis Fleming <<a href="mailto:arsantiqua@sbcglobal.net" target="_blank">arsantiqua@sbcglobal.net</a>><br>
>
>> > Cc: <a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a><br>> >> > Sent: Tuesday, July 29, 2008 3:59:30 PM<br>
> >> > Subject: Re: [gst-embedded] noise and stuttering<br>> >> ><br>> >> > Hi,<br>> >> ><br>> >> > On Tue, Jul 29, 2008 at 5:43 PM, Dennis Fleming<br>
> >> > <<a href="mailto:arsantiqua@sbcglobal.net" target="_blank">arsantiqua@sbcglobal.net</a>> wrote:<br>> >> > > The interesting thing is that uncompressed WAV<br>
> files are causing the<br>> >> > problem<br>> >> > > while MP3s were fixed by setting the<br>> buffer-time and latency-time to<br>
> >> > values<br>> >> > > smaller than found on a desktop. What would<br>> adding a queue do to<br>>
>> > latency<br>> >> > > through the system?<br>> >> ><br>> >> > There is no latency in this case because there<br>> are no live-sources.<br>
> >> > [1]<br>> >> ><br>> >> > > Also, I suppose, that I will need to break up<br>> the<br>> >> > > playbin and create a pipeline myself, yes?<br>
>
>> ><br>> >> > playbin has the queue elements on the correct<br>> location, no changes<br>> >> > needed.<br>> >> > You where already using a custom pipeline, no?<br>
> >> ><br>> >> > Gr,<br>> >> ><br>> >> > [1]<br>> >> ><br>> >> ><br>
>
<a href="http://webcvs.freedesktop.org/gstreamer/gstreamer/docs/design/draft-latency.txt?view=markup" target="_blank">http://webcvs.freedesktop.org/gstreamer/gstreamer/docs/design/draft-latency.txt?view=markup</a><br>
> >> ><br>> >> > ><br>> >> > > Dennis<br>> >> > ><br>> >> > > ----- Original Message ----<br>
> >> > > From: Thijs Vermeir <<a href="mailto:thijsvermeir@gmail.com" target="_blank">thijsvermeir@gmail.com</a>><br>> >> > >
To: Zhao Liang-E3423C <<a href="mailto:E3423C@motorola.com" target="_blank">E3423C@motorola.com</a>><br>> >> > > Cc: Dennis Fleming <<a href="mailto:arsantiqua@sbcglobal.net" target="_blank">arsantiqua@sbcglobal.net</a>>;<br>
> >> > > <a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a><br>> >> > > Sent: Tuesday, July 29, 2008 2:46:42 AM<br>
> >> > > Subject: Re: [gst-embedded] noise and<br>> stuttering<br>>
>> > ><br>> >> > > Hi,<br>> >> > ><br>> >> > > On Tue, Jul 29, 2008 at 11:15 AM, Zhao<br>> Liang-E3423C<br>
> >> > <<a href="mailto:E3423C@motorola.com" target="_blank">E3423C@motorola.com</a>><br>> >> > > wrote:<br>> >> > >> What's the rootcause of noise and stuttering ?<br>
> >> > ><br>> >>
> > Now you are using only 1 thread for all the<br>> elements and if the<br>> >> > > filesrc or the decoder is too slow sometimes<br>> >> > > you don't have time to catch up. By adding the<br>
> queue you put the<br>> >> > sink<br>> >> > > in another thread and now the filesrc+decoder<br>> can<br>> >> > > do some decoding in advance.<br>
> >> > ><br>>
>> > > Gr,<br>> >> > > Thijs<br>> >> > ><br>> >> > >><br>> >> > >> For normal playback, it should not have<br>
> issues. If decoder didn't<br>> >> > drop<br>> >> > >> data, I think alsasink did it.<br>> >> > >> By gstaudiosink mechanism, it will drop data<br>
> replaced with
blank<br>> >> > data when<br>> >> > >> data is late. I guess the rootcause is that.<br>> >> > >><br>> >> > >> If that, I have no ideas except adding a queue<br>
> before alsasink, and<br>> >> > when<br>> >> > >> queue is empty, pause the pipeline, it will<br>> not cause dropout, but<br>
> >> > still<br>>
>> > >> discontinous.<br>> >> > >><br>> >> > >> Zhao liang<br>> >> > >> ________________________________<br>
> >> > >> From:<br>> <a href="mailto:gstreamer-embedded-bounces@lists.sourceforge.net" target="_blank">gstreamer-embedded-bounces@lists.sourceforge.net</a><br>> >> > >><br>
> [mailto:<a href="mailto:gstreamer-embedded-bounces@lists.sourceforge.net" target="_blank">gstreamer-embedded-bounces@lists.sourceforge.net</a>] On Behalf<br>> >> > Of<br>> >> > >> Dennis Fleming<br>
> >> > >> Sent: Tuesday, July 29, 2008 4:37 AM<br>> >> > >> To: <a href="mailto:gstreamer-embedded@lists.sourceforge.net" target="_blank">gstreamer-embedded@lists.sourceforge.net</a><br>
> >> > >> Subject: [gst-embedded] noise and stuttering<br>> >> > >><br>>
>> > >> I'm trying to create an audio player on an<br>> IMX31 target and I've<br>> >> > found a<br>> >> > >> discrepancy in the output of various formats.<br>
> If I send MP3 data I<br>> >> > have<br>> >> > >> to<br>> >> > >> set the buffer-time and latency-time to 10000<br>
> and 100 respectively<br>> >> > to play<br>>
>> > >> without severe dropouts. However WAV files<br>> still have drop-out at<br>> >> > a<br>> >> > >> consistent rate (about 1 per 10 sec). Are<br>
> there some general<br>> >> > features I'm<br>> >> > >> missing or is there some guidance on the<br>> buffer-time/latency time<br>
> >> > that<br>> >> >
>> would<br>> >> > >> account for this difference?<br>> >> > >><br>> >> > >> Linux <a href="http://2.6.22.19" target="_blank">2.6.22.19</a><br>
> >> > >> gstreamer 0.10.17 (open-embedded)<br>> >> > >> gst-launch filesrc location=<file> !<br>> decodebin ! alsasink<br>> >> > >> buffer-time=10000<br>
> >> > >> latency-time=100<br>> >> > >><br>>
>> > >> Dennis<br>> >> > >><br>> >> > >><br>> >> ><br>> >> ><br>> -------------------------------------------------------------------------<br>
> >> > >> This SF.Net email is sponsored by the Moblin<br>> Your Move Developer's<br>> >> > >> challenge<br>> >> > >> Build the coolest
Linux based applications<br>> with Moblin SDK & win<br>> >> > great<br>> >> > >> prizes<br>> >> > >> Grand prize is a trip for two to an Open<br>
> Source event anywhere in<br>> >> > the<br>> >> > >> world<br>> >> > >><br>> <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>
> >> > >><br>> _______________________________________________<br>> >> > >> Gstreamer-embedded mailing list<br>> >> > >> <a href="mailto:Gstreamer-embedded@lists.sourceforge.net" target="_blank">Gstreamer-embedded@lists.sourceforge.net</a><br>
> >> > >><br>> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>
> >> > >><br>> >> > >><br>> >> > ><br>> >> ><br>> >> ><br>> >> ><br>
> -------------------------------------------------------------------------<br>> >> > This SF.Net email is sponsored by the Moblin Your<br>> Move Developer's<br>
>
>> > challenge<br>> >> > Build the coolest Linux based applications with<br>> Moblin SDK & win great<br>> >> > prizes<br>> >> > Grand prize is a trip for two to an Open Source<br>
> event anywhere in the<br>> >> > world<br>> >> ><br>> <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>
>
>> > _______________________________________________<br>> Gstreamer-embedded<br>> >> > mailing list<br>> <a href="mailto:Gstreamer-embedded@lists.sourceforge.net" target="_blank">Gstreamer-embedded@lists.sourceforge.net</a><br>
> >> ><br>> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>> >> --<br>
> >> Jan Schmidt
<<a href="mailto:thaytan@noraisin.net" target="_blank">thaytan@noraisin.net</a>><br>> >><br>> >><br>> >><br>> -------------------------------------------------------------------------<br>
> >> This SF.Net email is sponsored by the Moblin Your<br>> Move Developer's<br>> >> challenge<br>> >> Build the coolest Linux based applications with<br>
> Moblin SDK & win
great<br>> >> prizes<br>> >> Grand prize is a trip for two to an Open Source<br>> event anywhere in the<br>> >> world<br>> >><br>
> <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>> >> _______________________________________________<br>
> >> Gstreamer-embedded mailing list<br>> >> <a href="mailto:Gstreamer-embedded@lists.sourceforge.net" target="_blank">Gstreamer-embedded@lists.sourceforge.net</a><br>> >><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>> ><br>> ><br>
> ><br>> -------------------------------------------------------------------------<br>> > This SF.Net email is sponsored by the Moblin Your<br>>
Move Developer's challenge<br>> > Build the coolest Linux based applications with<br>> Moblin SDK & win great<br>> > prizes<br>> > Grand prize is a trip for two to an Open Source<br>
> event anywhere in the world<br>> ><br>> <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>
> > _______________________________________________<br>>
> Gstreamer-embedded mailing list<br>> > <a href="mailto:Gstreamer-embedded@lists.sourceforge.net" target="_blank">Gstreamer-embedded@lists.sourceforge.net</a><br>> ><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>> ><br>> ><br>
> <br>> <br>> <br>> <br>> <br>>
-------------------------------------------------------------------------<br>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge<br>> Build the coolest Linux based applications with Moblin SDK & win great prizes<br>
> Grand prize is a trip for two to an Open Source event anywhere in the world<br>> <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>
> _______________________________________________ Gstreamer-embedded mailing list <a href="mailto:Gstreamer-embedded@lists.sourceforge.net" target="_blank">Gstreamer-embedded@lists.sourceforge.net</a> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>
-- <br>Jan Schmidt <<a href="mailto:thaytan@noraisin.net" target="_blank">thaytan@noraisin.net</a>><br><br><br>-------------------------------------------------------------------------<br>This SF.Net email is sponsored by the Moblin Your Move Developer's challenge<br>
Build the coolest Linux based applications with Moblin SDK & win great prizes<br>Grand prize is a trip for two to an Open Source event anywhere in the world<br><a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>
_______________________________________________<br>Gstreamer-embedded mailing list<br><a href="mailto:Gstreamer-embedded@lists.sourceforge.net" target="_blank">Gstreamer-embedded@lists.sourceforge.net</a><br><a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>
</div></div></div></div></div></div><br>-------------------------------------------------------------------------<br>
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge<br>
Build the coolest Linux based applications with Moblin SDK & win great prizes<br>
Grand prize is a trip for two to an Open Source event anywhere in the world<br>
<a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>_______________________________________________<br>
Gstreamer-embedded mailing list<br>
<a href="mailto:Gstreamer-embedded@lists.sourceforge.net">Gstreamer-embedded@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>
<br></blockquote></div><br></div>