<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Tristan,<br>
<br>
Thanks for the replies. They are really helpfull! (And I will have a
further look at 'miville' - it looks really nice).<br>
<blockquote cite="mid:4AB3C377.3050606@sat.qc.ca" type="cite">
  <pre wrap="">This example might help:
sender

gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=10 
! vorbisenc ! rtpvorbispay ! udpsink port=10000

receiver

gst-launch -v udpsrc caps="$CAPS" port=10000 ! rtpvorbisdepay ! 
vorbisdec ! queue max-size-buffers=3 ! jackaudiosink connect=none

where $CAPS are the caps of the udpsink from the first pipeline.

  </pre>
</blockquote>
This does not work for me, jackaudiosink does not pop up in qjackctl
... I tried some other configurations, but nothing.<br>
<br>
However, somehow my first pipeline with rtp decided to work, with 24
channels and from gst-launch. Still, I get:<br>
<br>
<tt>WARNING: from element
/GstPipeline:pipeline0/GstVorbisDec:vorbisdec0: Could not decode stream.<br>
Additional debug info:<br>
vorbisdec.c(670): vorbis_handle_identification_packet ():
/GstPipeline:pipeline0/GstVorbisDec:vorbisdec0:<br>
Using NONE channel layout for more than 8 channels</tt><br>
<br>
Maybe this can interpreted as 'cannot read layout from stream,
defaulting to NONE' - as the audio streams fine.<br>
<blockquote cite="mid:4AB3C377.3050606@sat.qc.ca" type="cite">
  <pre wrap="">-Tristan

Tristan Matthews wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">As far as I know this should be fine in python, though I haven't tried 
it. Our app (<a class="moz-txt-link-freetext" href="https://svn.sat.qc.ca/trac/miville">https://svn.sat.qc.ca/trac/miville</a>) does this for up to 8 
channels of vorbis or raw audio (with rtpL16pay/depay) and gstrtpbin. We 
haven't tried (yet) to implement support for more than 8 channels. Here 
we don't set the channel positions and it works, but I do get that same 
"warning could not decode stream" even though the sound if fine.
The element to set the number of channels is a caps filter element, so 
the equivalent in C would be:

GstElement *capsfilter;
gst_element_factory_make(capsfilter, NULL);
g_object_set(capsfilter, "caps", "audio/x-raw-float, channels=8", NULL);

and then link it in between jackaudiosrc and vorbisenc.

-Tristan

Dirk Griffioen wrote:
  
    </pre>
    <blockquote type="cite">
      <pre wrap="">Hi Tristan,
    
      </pre>
      <blockquote type="cite">
        <pre wrap="">You probably have to set the "channel-positions" property on the 
interleave element, which you can't do with gst-launch as I recall (i.e. 
you need to write c or python app for it) as it is an array. However for 
more than 8 channels the positions might have to all be set to  
GST_AUDIO_CHANNEL_POSITION_NONE

  
      
        </pre>
      </blockquote>
      <pre wrap="">Yes I read about that 
(<a class="moz-txt-link-freetext" href="http://tristanswork.blogspot.com/2008/08/multichannel-audio-with-gstreamer.html">http://tristanswork.blogspot.com/2008/08/multichannel-audio-with-gstreamer.html</a>), 
and can I do this in python as well? (I dont mind C, but python will 
be quicker).

    
      </pre>
      <blockquote type="cite">
        <pre wrap="">Are you just trying to do something like this?

gst-launch -v jackaudiosrc connect=none ! audio/x-raw-float, channels=24 
! vorbisenc ! vorbisdec ! jackaudiosink connect=none

  
      
        </pre>
      </blockquote>
      <pre wrap="">Well, almost :)

I am trying to put rtp in between the vorbisencoder and decoder so I 
can stream n channels from A to B over a single rtp session

I get the following on the receiving end (after copying the new config 
string from A to B):

GstPipeline:pipeline0/GstVorbisDec:vorbisdec0.GstPad:sink: caps = 
audio/x-vorbis
WARNING: from element /GstPipeline:pipeline0/GstVorbisDec:vorbisdec0: 
Could not decode stream.
Additional debug info:
vorbisdec.c(670): vorbis_handle_identification_packet (): 
/GstPipeline:pipeline0/GstVorbisDec:vorbisdec0:
Using NONE channel layout for more than 8 channels

Which is weird because it knows this:

/GstPipeline:pipeline0/GstVorbisDec:vorbisdec0.GstPad:src: caps = 
audio/x-raw-float, rate=(int)48000, channels=(int)24, 
endianness=(int)1234, width=(int)32, 
channel-positions=(GstAudioChannelPosition)&lt; 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE, 
GST_AUDIO_CHANNEL_POSITION_NONE, GST_AUDIO_CHANNEL_POSITION_NONE &gt;

Do you have any tips? (Maybe the NONE layout is not in the vorbis 
config string ...)

Regards, Dirk

PS - how do you call the 'audio/x-raw-float, channels=24' element?

    
      </pre>
      <blockquote type="cite">
        <pre wrap="">(note that the bottleneck here will probably be your soundcard).

-Tristan

Dirk Griffioen wrote:
  
      
        </pre>
        <blockquote type="cite">
          <pre wrap="">Thanks for the answer!
  
    
        
          </pre>
          <blockquote type="cite">
            <pre wrap="">I think you need to interleave several mono channels from audiotestsrc
into a stereo stream and then shove them into the vorbis encoder. You
need an audio mixer, or something like that.
  
    
      
          
            </pre>
          </blockquote>
          <pre wrap="">I would like to encode separate channels.

For example, this runs

gst-launch-0.10 -v interleave name=i ! queue ! \
vorbisenc ! vorbisdec ! \
jackaudiosink connect=none \
jackaudiosrc ! audioconvert ! queue ! i. \
jackaudiosrc ! audioconvert ! queue ! i.

but this does not:

gst-launch-0.10 -v interleave name=i ! queue ! \
vorbisenc ! vorbisdec ! \
jackaudiosink connect=none \
jackaudiosrc ! audioconvert ! queue ! i. \
jackaudiosrc ! audioconvert ! queue ! i. \
jackaudiosrc ! audioconvert ! queue ! i. \
jackaudiosrc ! audioconvert ! queue ! i.

Do you know why? The vorbis spec allows for 255 channels and I simply 
would like to run n channels through the vorbis encoder ...

I really could use some help.

Thanks in advance, Dirk


------------------------------------------------------------------------------
Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
<a class="moz-txt-link-freetext" href="http://p.sf.net/sfu/devconf">http://p.sf.net/sfu/devconf</a>
_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a>

  
    
        
          </pre>
        </blockquote>
        <pre wrap="">  
      
        </pre>
      </blockquote>
      <pre wrap="">------------------------------------------------------------------------

------------------------------------------------------------------------------
Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
<a class="moz-txt-link-freetext" href="http://p.sf.net/sfu/devconf">http://p.sf.net/sfu/devconf</a>
------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a>
  
    
      </pre>
    </blockquote>
    <pre wrap="">
  
    </pre>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
<br>
</body>
</html>