[gst-embedded] Question on gst_plugin alsasink
Shenhong Wang
qch1688 at hotmail.com
Wed Jun 18 18:46:43 PDT 2008
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: [gst-embedded] Question on gst_plugin alsasinkDate: Wed, 18 Jun 2008 17:08:09 +0800From: binzhao at motorola.comTo: 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 PMTo: Zhao Bin-E6223C; Zhao Liang-E3423C; gstreamer-embedded at lists.sourceforge.netSubject: RE: [gst-embedded] 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: [gst-embedded] Question on gst_plugin alsasinkDate: Wed, 18 Jun 2008 16:55:38 +0800From: binzhao at motorola.comTo: 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-E3423CSent: Wednesday, June 18, 2008 4:49 PMTo: Shenhong Wang; gstreamer-embedded at lists.sourceforge.netSubject: 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 RegardsZhao Liang
From: Shenhong Wang [mailto:qch1688 at hotmail.com] Sent: Wednesday, June 18, 2008 4:44 PMTo: Zhao Liang-E3423C; gstreamer-embedded at lists.sourceforge.netSubject: 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 alsasinkDate: Wed, 18 Jun 2008 14:29:27 +0800From: E3423C at motorola.comTo: 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 RegardsZhao Liang
From: gstreamer-embedded-bounces at lists.sourceforge.net [mailto:gstreamer-embedded-bounces at lists.sourceforge.net] On Behalf Of Shenhong WangSent: Wednesday, June 18, 2008 2:21 PMTo: gstreamer-embedded at lists.sourceforge.netSubject: [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!
Connect to the next generation of MSN Messenger Get it now!
Connect to the next generation of MSN Messenger Get it now!
_________________________________________________________________
News, entertainment and everything you care about at Live.com. Get it now!
http://www.live.com/getstarted.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20080619/97d6bb3a/attachment.htm>
More information about the Gstreamer-embedded
mailing list