Using GstAppSrc source leads to jerky sound on OpenSuSE 43.2 (PulseAudio)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Using GstAppSrc source leads to jerky sound on OpenSuSE 43.2 (PulseAudio)

gyunaev
Hi all,

When playing sound from GstAppSrc, seekable stream, my application
sounds weird on my machine. Sound is played only half of each second;
the other half no sound is played.

No error messages of any kind are printed in the console.

I assumed that it was due to some kind of strange input buffer underrun,
so I rewrote the application pushing buffers in a separate thread
indefinitely (ignoring enough-data). It fills it up fully even before
the sound is heard, but the output is the same - jerky sound which turns
off every half seconds.

The same pipeline plays regular music files from disk (opened through
'url' source) fine.

If needed, the player source is here:
https://github.com/gyunaev/spivak/blob/master/src/mediaplayer.cpp - it
handles both video and audio and thus is pretty complex. in
setupSource() the audio sink is set up, and the callbacks read the data
from QIODevice.

Thank you in advance!

--
With best regards, George.
Senior Software Security Engineer
http://www.ulduzsoft.com/about-me/resume/

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using GstAppSrc source leads to jerky sound on OpenSuSE 43.2 (PulseAudio)

gyunaev
Followup: the same application binary plays well on another machine
running the same operating system. The only difference is lack of
PulseAudio an KDE on that machine. However I can't understand why this
could affect GstAppSrc only, and not other sources.


On 11/21/2017 11:52 PM, George Yunaev wrote:

> Hi all,
>
> When playing sound from GstAppSrc, seekable stream, my application
> sounds weird on my machine. Sound is played only half of each second;
> the other half no sound is played.
>
> No error messages of any kind are printed in the console.
>
> I assumed that it was due to some kind of strange input buffer
> underrun, so I rewrote the application pushing buffers in a separate
> thread indefinitely (ignoring enough-data). It fills it up fully even
> before the sound is heard, but the output is the same - jerky sound
> which turns off every half seconds.
>
> The same pipeline plays regular music files from disk (opened through
> 'url' source) fine.
>
> If needed, the player source is here:
> https://github.com/gyunaev/spivak/blob/master/src/mediaplayer.cpp - it
> handles both video and audio and thus is pretty complex. in
> setupSource() the audio sink is set up, and the callbacks read the
> data from QIODevice.
>
> Thank you in advance!
>

--
With best regards, George.
Senior Software Security Engineer
http://www.ulduzsoft.com/about-me/resume/

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel