[jitsi-dev] [jitsi-videobridge] Question about audio mixing


#1

Hi all,
I'm trying to use JitsiVideobridge in mixing mode, at the moment using only
audio channels.
The conference is created and populated using the REST interface (with POST
and PATCH), and during the tests with two participants I experienced often
problems with one way audio: in this cases JVB does not relay the audio to
the callee.

I added some debug logs to figure out this issue, and from what I
understood it seems related to a wrong direction of the rtp stream JVB --->
Callee: the stream starts with 'recvonly" direction, and then change to
"sendrecv" ; maybe this initial direction somehow causes the problem.

Just to try to change this behavior, I made this "hack" in the
RtpChannel.setRTPLevelRelayType method:

case MIXER:
    MediaDevice device = getContent().getMixer();

    stream.setDevice(device);

    /*
     * It is necessary to start receiving media in order to
     * determine the MediaFormat in which the stream will send the
     * media it generates.
     */
    //if (stream.getFormat() == null)
    // stream.setDirection(MediaDirection.RECVONLY);
    break;

Commenting the sedDirection call above, all the tests systematically
succeed and I don't have the problem anymore.

So my question is: what do you think about this problem? Could this
*brutal* hack break something else in JVB?

Thanks in advance,

Matteo


#2

Hello,
just for information this pull request
https://github.com/jitsi/jitsi-videobridge/pull/130 resolves the one way
audio issue cited below.

Before we tried two "brutal" fixes:

   - comment the* stream.setDirection(MediaDirection.RECVONLY)* in
   the setRTPLevelRelayType method;

or

   - call *stream.setDirection(MediaDirection.SENDRECV)* in
   maybeStartStream just before stream.start();

The PR 130 handles this annoying race condition in the proper way.

Regards,
Matteo

···

---------- Forwarded message ----------
From: Matteo Campana <matteo.campana@gmail.com>
Date: Mon, Feb 1, 2016 at 11:01 AM
Subject: [jitsi-videobridge] Question about audio mixing
To: dev@jitsi.org

Hi all,
I'm trying to use JitsiVideobridge in mixing mode, at the moment using only
audio channels.
The conference is created and populated using the REST interface (with POST
and PATCH), and during the tests with two participants I experienced often
problems with one way audio: in this cases JVB does not relay the audio to
the callee.

I added some debug logs to figure out this issue, and from what I
understood it seems related to a wrong direction of the rtp stream JVB --->
Callee: the stream starts with 'recvonly" direction, and then change to
"sendrecv" ; maybe this initial direction somehow causes the problem.

Just to try to change this behavior, I made this "hack" in the
RtpChannel.setRTPLevelRelayType method:

case MIXER:
    MediaDevice device = getContent().getMixer();

    stream.setDevice(device);

    /*
     * It is necessary to start receiving media in order to
     * determine the MediaFormat in which the stream will send the
     * media it generates.
     */
    //if (stream.getFormat() == null)
    // stream.setDirection(MediaDirection.RECVONLY);
    break;

Commenting the sedDirection call above, all the tests systematically
succeed and I don't have the problem anymore.

So my question is: what do you think about this problem? Could this
*brutal* hack break something else in JVB?

Thanks in advance,

Matteo