[gst-embedded] Question on gst_plugin alsasink

Zhao Bin-E6223C binzhao at motorola.com
Wed Jun 18 02:08:09 PDT 2008


 
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: [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 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&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> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-embedded/attachments/20080618/9dba3494/attachment.htm>


More information about the Gstreamer-embedded mailing list