[gst-embedded] Question on gst_plugin alsasink

Stefan Kost ensonic at hora-obscura.de
Sat Jun 21 12:59:05 PDT 2008


hi,

you can use multiqueue, which is severl synchronized queues. But I belive you 
problem needs to be fixed elsewhere.

Can you tell us how the whole pipeline looks like?

You said your aac-decoder does not set timestamps? Is it putting 
GST_CLOCK_TIME_NONE there (don't use 0)?

You should implement qos and timestamps. The sink will tell you whats the next 
expected timestamp and your aac decoder could skip packets that come late already.

Stefan

Shenhong Wang schrieb:
> Thanks! Brad.
> However I use two queues for audio and video separately but one 
> pipeline. So it would be impossible for me to pause the pipeline? 
> because the application can play video very well even the audio is blocked.
> Why the alsasink will drop all packets(frames) after a break or so? 
> thanks again
>  
> Shenhong
> 
> 
> 
> 
>     ------------------------------------------------------------------------
>     Subject: RE: [gst-embedded] Question on gst_plugin alsasink
>     Date: Wed, 18 Jun 2008 16:55:38 +0800
>     From: binzhao at motorola.com
>     To: E3423C at motorola.com; qch1688 at hotmail.com;
>     gstreamer-embedded at lists.sourceforge.net
> 
>      
>      
>     yes, you can refernce how to use queue. you can set water mark in
>     queue.And then post message to bus if lower than mater mark. in your
>     main app you can recieve the message to pause the pipeline.
>      
>     if higher water mark, you can use the same mechanism.
>      
>      
>      
> 
>     ------------------------------------------------------------------------
>     *From:* gstreamer-embedded-bounces at lists.sourceforge.net
>     [mailto:gstreamer-embedded-bounces at lists.sourceforge.net] *On Behalf
>     Of *Zhao Liang-E3423C
>     *Sent:* Wednesday, June 18, 2008 4:49 PM
>     *To:* Shenhong Wang; gstreamer-embedded at lists.sourceforge.net
>     *Subject:* Re: [gst-embedded] Question on gst_plugin alsasink
> 
>     Hi shenhong,
>      
>     A simply solution you can try.
>      
>     Put a queue before alsasink, when queue is dry, pause pipeline, and
>     restart pipeline when queue bufferred enough data.
>      
>      
> 
>     *Best Regards
>     Zhao Liang *
> 
>     ------------------------------------------------------------------------
>     *From:* Shenhong Wang [mailto:qch1688 at hotmail.com]
>     *Sent:* Wednesday, June 18, 2008 4:44 PM
>     *To:* Zhao Liang-E3423C; gstreamer-embedded at lists.sourceforge.net
>     *Subject:* RE: [gst-embedded] Question on gst_plugin alsasink
> 
>     Hi, Zhao Liang:
>     Generally, the aacdec &alsasink will not play out any audio
>     frames(packets) after its source element has a break to send audio
>     frames (packets) to them. It looks the alsasink drops all
>     frames(packets) from the break. The break is needed because we have
>     more video frames and sometime the wireless signal is not good.
>     It looks the aacdec is slower than the expectation from alsasink.If
>     so, how to fix the issue? thanks!
>      
>     best Regards!
>     Shenhong
>      
>      
> 
> 
> 
> 
>      
> 
>         ------------------------------------------------------------------------
>         Subject: RE: [gst-embedded] Question on gst_plugin alsasink
>         Date: Wed, 18 Jun 2008 14:29:27 +0800
>         From: E3423C at motorola.com
>         To: qch1688 at hotmail.com; gstreamer-embedded at lists.sourceforge.net
> 
>         Hi Shenhong,
>          
>         Your issue is very similar with the issue I even met. I think it
>         is due to gstbaseaudiosink/gstaudiosink, it will drop the
>         packets by gstringbuffer when read rate is bigger than write
>         rate in ringbuffer, please see gstringbuffer.c
>         gst_ring_buffer_commit_full ().
>          
>         For the rootcause, I think maybe the alsasink audiodevice buffer
>         is too big or your aac decoder is too slow.
>          
> 
>         *Best Regards
>         Zhao Liang*
> 
>         ------------------------------------------------------------------------
>         *From:* gstreamer-embedded-bounces at lists.sourceforge.net
>         [mailto:gstreamer-embedded-bounces at lists.sourceforge.net] *On
>         Behalf Of *Shenhong Wang
>         *Sent:* Wednesday, June 18, 2008 2:21 PM
>         *To:* gstreamer-embedded at lists.sourceforge.net
>         *Subject:* [gst-embedded] Question on gst_plugin alsasink
> 
> 
>         Dear all,
>         Now we are using alsasink to play audio on Marvell PXA310 board.
>         The audio is aac format. The audio frames(packets)
>         are frequently sent to the aac decoder & alsasink to play out.
>         Unfortunately only the begining frames can be played out and
>         then nothing is played out.
>         If we save those audio frames into a file, the aac
>         decoder&alsasink can be successfully played out. It means the
>         audio frames are ok.
>         Could anyone tell me what's the difference for alsasink to
>         process audio packets and files? How to fix the above issue?
>         thank you very much!
>          
>         Best Regards!
>         Shenhong WANG
> 
>         ------------------------------------------------------------------------
>         Connect to the next generation of MSN Messenger  Get it now!
>         <http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline>
> 
> 
>     ------------------------------------------------------------------------
>     Connect to the next generation of MSN Messenger  Get it now!
>     <http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline>
> 
> 
> ------------------------------------------------------------------------
> Connect to the next generation of MSN Messenger  Get it now! 
> <http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline>
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Gstreamer-embedded mailing list
> Gstreamer-embedded at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded





More information about the Gstreamer-embedded mailing list