[gst-devel] Choppy Audio over UDP

Wes Miller wmiller at sdr.com
Fri Oct 15 23:31:52 CEST 2010


Hello All,

I have a Leopardboard 365 (Ridgerun Leopardboard-365 Free SDK includes
prebuilt Gstreamer) transmitting linein audio with the following pipeline:

     gst-launch alsasrc  do-timestamps=true ! queue2 ! audioconvert !
audioresample \
          ! volume volume=2 ! dmaienc_aac outputBufferSize=10000000
outputformat=2     \
          ! rtpmp4apay ! queue2 ! udpsink port=5555 host=10.253.5.156

dmaienc_aac is a hardware accelerated aac encoder.  For outputformat, 2 is
adts.  ("man page" is below)


My receiver (PC with Ubuntu 10.04 Gstreamer 0.10.31) uses this pipeline:

     gst-launch-0.10 udpsrc port=5555 caps="application/x-rtp, media=audio,
clock-rate=44100, \ 
             encoding-name=MP4A-LATM, cpresent=0, config=40002420,
payload=96" \
          ! queue2 max-size-bytes=1000000 low-percent=40 high-percent=75  \
          ! rtpmp4adepay !  queue2 max-size-bytes=1000000 ! decodebin \
          ! alsasink sync=false

The output is choppy and sped-up.

I tried sync=true, but that doesn't seem to help.  The choppiness is worse
with long periods of silence punctuated by blips and short bursts of music.

I added queue2 max-size-bytes=1000000 after alsasrc and before udpsink
(sending pipeline).  Did not help.

I feel like there is some synchronization step I'm missing, but I have been
staring at it too long today.

Can someone offer me advice?

Wes

<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
dmaienc_aac "man page"
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

DMAIENC_AAC Help

Factory Details:
  Long name:    DMAI xDM 1.0 AAC Encoder
  Class:            Codec/Encoder/Audio
  Description:    DMAI AAC encoder
  Author(s):       Don Darling; Texas Instruments, Inc., Diego Dompe;
RidgeRun Engineering
  Rank:             primary (256)

Plugin Details:
  Name:               TICodecPlugin
  Description:        Plugin for TI xDM-Based Codecs
  Filename:           /usr/lib/gstreamer-0.10/libgstticodecplugin.so
  Version:             0.10.0.1
  License:             LGPL
  Source module:   gstticodecplugin
  Binary package:  TI / RidgeRun
  Origin URL:        http://www.ti.com/, http://www.ridgerun.com

GObject
 +----GstObject
       +----GstElement
             +----dmaienc_aac

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      audio/mpeg
            mpegversion: 4
               channels: [ 1, 2 ]
                   rate: [ 16000, 96000 ]

  SINK template: 'sink'
    Availability: Always
    Capabilities:
      audio/x-raw-int
                  width: 16
                  depth: 16
             endianness: 1234
               channels: [ 1, 2 ]
                   rate: [ 8000, 96000 ]

Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: 0x40649818
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.

Pads:
  SRC: 'src'
    Implementation:
    Pad Template: 'src'
  SINK: 'sink'
    Implementation:
      Has chainfunc(): gst_tidmaienc_chain
      Has custom eventfunc(): gst_tidmaienc_sink_event
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "dmaienc_aac0"
  outputBufferSize    : Size of the output buffer
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 0 Current: 0
  copyOutput          : Boolean that set if the output buffers should be 
                        copied into standard gst buffers
                        flags: readable, writable
                        Boolean. Default: false Current: false
  bitrate             : Average bit rate in bps
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 128000
Current: 32000
  maxbitrate          : Max bitrate for VBR encoding
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 128000
Current: 32000
  downmix             : Option to enable downmix
                        flags: readable, writable
                        Boolean. Default: false Current: false
  fnostereoprocessing : Use stereo preprocessing flag: Only applicable when 
                        sampleRate <24000 Hz and bitRate < 60000 bps.
                        flags: readable, writable
                        Boolean. Default: false Current: false
  invquant            : Inverse quantization level
                        flags: readable, writable
                        Integer. Range: 0 - 2 Default: 0 Current: 0
  tns                 : Flag for TNS enable
                        flags: readable, writable
                        Boolean. Default: true Current: true
  outputformat        : Output format: 0 - RAW, 1 - ADIF, 2 - ADTS
                        flags: readable, writable
                        Integer. Range: 0 - 2 Default: 0 Current: 0
  fullbandwidth       : Flag to enable full bandwidth
                        flags: readable, writable
                        Boolean. Default: false Current: false

 


-- 
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Choppy-Audio-over-UDP-tp2997741p2997741.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.




More information about the gstreamer-devel mailing list