Seeking Help with audio capture stutter problem

Stephen Nesbitt snesbitt at aussieswithtails.com
Sat Apr 19 09:27:20 PDT 2014


All:

I am trying to figure out how to resolve stuttering audio capture problem.

Here is the scenario:
* gst 1.0 
* Geniatech OTG102 USB capture card with audio provided by the cx231xx driver
*  Capturing audio through Jack

The base pipeline I am using is:
gst-launch-1.0 -e -vvv jackaudiosrc ! audiorate ! wavenc ! filesink 
location=jack.wav

The playback of resulting wav file (using vlc) is extremely choppy and broken 
up and essentially unusable.

I'm guessing there is some kind of buffering issue with samples being dropped, 
but that is only a guess. Will someone help me out? I've added the verbose 
output from the command after my sig.

Thanks in advance.

-steve


Capture Output
=============
gst-launch-1.0 -e -vvv jackaudiosrc ! audiorate ! wavenc ! filesink 
location=jack.wav
Setting pipeline to PAUSED ...
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackPosixSemaphore::Connect name = jack_sem.10005_default_gst-launch-1.0
Jack: JackPosixSemaphore::Connect sem_getvalue 0
Jack: Clock source : system clock via clock_gettime
Jack: JackLibClient::Open name = gst-launch-1.0 refnum = 6
Jack: JackClient::Activate
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 2048
Jack: JackClient::Init : period = 42666 computation = 100 constraint = 42666
Jack: JackPosixThread::AcquireRealTimeImp priority = 5
Jack: JackClient::ClientNotify ref = 6 name = gst-launch-1.0 notify = 2
Jack: JackClient::kActivateClient name = gst-launch-1.0 ref = 6 
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
Jack: JackClient::ClientNotify ref = 6 name = gst-launch-1.0 notify = 18
New clock: GstAudioSrcClock
Jack: JackClient::ClientNotify ref = 6 name = gst-launch-1.0 notify = 18
Jack: JackClient::PortRegister ref = 6 name = gst-
launch-1.0:in_jackaudiosrc0_1 type = 32 bit float mono audio port_index = 7
Jack: JackClient::Connect src = system:capture_1 dst = gst-
launch-1.0:in_jackaudiosrc0_1
/GstPipeline:pipeline0/GstJackAudioSrc:jackaudiosrc0: actual-buffer-time = 
170666
/GstPipeline:pipeline0/GstJackAudioSrc:jackaudiosrc0: actual-latency-time = 
42666
/GstPipeline:pipeline0/GstJackAudioSrc:jackaudiosrc0.GstPad:src: caps = 
audio/x-raw, format=(string)F32LE, layout=(string)interleaved, 
rate=(int)48000, channels=(int)1
/GstPipeline:pipeline0/GstAudioRate:audiorate0.GstPad:src: caps = audio/x-raw, 
format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, 
channels=(int)1
/GstPipeline:pipeline0/GstWavEnc:wavenc0.GstPad:sink: caps = audio/x-raw, 
format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, 
channels=(int)1
/GstPipeline:pipeline0/GstAudioRate:audiorate0.GstPad:sink: caps = audio/x-
raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)48000, 
channels=(int)1
Jack: JackClient::ClientNotify ref = 6 name = gst-launch-1.0 notify = 18
Jack: JackClient::ClientNotify ref = 6 name = gst-launch-1.0 notify = 18
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:01.275080230
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Jack: JackClient::PortUnRegister port_index = 7
Jack: JackClient::Deactivate
Jack: JackClient::Deactivate res = 0
Jack: JackPosixThread::Kill
Jack: jack_client_close
Jack: JackClient::Close ref = 6
Jack: JackClient::Deactivate
Jack: JackSocketClientChannel::Stop
Jack: JackPosixThread::Kill
Jack: JackClientSocket::Close
Jack: JackClientSocket::Close
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_gst-
launch-1.0
Jack: JackLibClient::~JackLibClient
Jack: JackShmReadWritePtr1::~JackShmReadWritePtr1 5
Jack: Succeeded in unlocking 422 byte memory area
Jack: JackLibGlobals Destroy 2034000
Jack: ~JackLibGlobals
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_system
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_freewheel
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_dbusapi
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_PulseAudio 
JACK Sink
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_PulseAudio 
JACK Source
Jack: JackPosixSemaphore::Disconnect name = jack_sem.10005_default_qjackctl
Jack: no message buffer overruns
Jack: JackPosixThread::Stop
Jack: JackPosixThread::ThreadHandler : exit
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 1
Jack: Succeeded in unlocking 1186 byte memory area
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 0
Jack: Succeeded in unlocking 82274202 byte memory area
Jack: jack_client_close res = 0
Freeing pipeline .


More information about the gstreamer-devel mailing list