please check queue signals "underrun" "overrun" .... Zhao Liang ________________________________ From: Shenhong Wang [mailto:qch1688 at hotmail.com] Sent: Thursday, June 19, 2008 9:47 AM To: Zhao Bin-E6223C; Zhao Liang-E3423C; gstreamer-embedded at lists.sourceforge.net Subject: RE: Question on gst_plugin alsasink Hi, Brad or Zhao Liang: Is it possible for you to publish an example - how to post a message to bus and pause/play pipeline? thanks a lot! Best Regards! Shenhong ________________________________ Subject: RE: Question on gst_plugin alsasink Date: Wed, 18 Jun 2008 17:08:09 +0800 From: binzhao at motorola.com To: qch1688 at hotmail.com; E3423C at motorola.com; gstreamer-embedded at lists.sourceforge.net 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 (). Please check code in gstbaseaudiosink.c and gstaudiosink.c i remember the sig_write is lower than sig_done,sink will drop the buffer. ________________________________ From: Shenhong Wang [mailto:qch1688 at hotmail.com] Sent: Wednesday, June 18, 2008 5:05 PM To: Zhao Bin-E6223C; Zhao Liang-E3423C; gstreamer-embedded at lists.sourceforge.net Subject: RE: Question on gst_plugin alsasink 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: 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: 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: 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: 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: 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&sou rce=wlmailtagline> ________________________________ Connect to the next generation of MSN Messenger Get it now! <http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&sou rce=wlmailtagline> ________________________________ Connect to the next generation of MSN Messenger Get it now! <http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&sou rce=wlmailtagline> ________________________________ Get news, entertainment and everything you care about at Live.com. Check it out! <http://www.live.com/getstarted.aspx> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20080619/802db751/attachment.htm>