linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] Using MSConf - conference


From: Raust Tamatea
Subject: Re: [Linphone-developers] Using MSConf - conference
Date: Tue, 22 Jun 2010 10:39:10 +0200
User-agent: Thunderbird 2.0.0.22 (Windows/20090605)

damico a écrit :
Il 21/06/2010 11:32, Raust Tamatea ha scritto:
damico a écrit :
Il 18/06/2010 12:07, Raust Tamatea ha scritto:
Raust Tamatea a écrit :
Hello,
I'm using mediastreamer2 to receive / send RTP data.
I would like to use the filter MSConf for multiple audio stream. By following instruction, a simple communication between a phone and PC is working. Now I've created a conference but when I don't have any more sound. I've done something like this :

ms_filter_link (stream->rtprecv, 0, stream->decoder, 0);
ms_filter_link (stream->decoder, 0, stream->dtmfgen, 0);
ms_filter_link (stream->dtmfgen, 0, room, 0);
ms_filter_link (room, 0, stream->soundwrite, 0);

ms_ticker_attach (m_ticker, pRtp->m_rtprecv);

with

MSFilter * room = ms_filter_new (MS_CONF_ID);

With this I can't hear any sound. If I don't use room and directly go to soundwrite, it's okay.
Could you help me ? I can't find any example with audio conferencing.

Regards.

_______________________________________________
Linphone-developers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/linphone-developers


Thanks for your answers.

There is something I don't understand with msconf and ms_ticker_attach.
I create a conference like this :
ms_filter_link (rtprecv, 0, decoder, 0); ms_filter_link (decoder, 0, dtmfgen, 0); ms_filter_link (dtmfgen, 0, m_room, 1); ms_filter_link (m_room, 1, encoder, 0); ms_filter_link (encoder, 0, rtpsend, 0);

Then I link rtprecv with the ticker :
ms_ticker_attach (m_ticker, rtprecv);

Next I want to link my soundcard :
ms_filter_link (soundread, 0, m_room, 0);
ms_filter_link (m_room, 0, soundwrite, 0);

And when I call " ms_ticker_attach (m_ticker, soundread); " then my problem is that my execution_list contain 3 filters. First attach there is only rtprecv. Second attach, there is rtprecv, soundread and again rtprecv. Is it normal ? Do I have to detach each filter before adding a new one so it will add all the filters ? If I don't do this, then mediastreamer crash because if I detach the first recv the second one is still present but I've already destroyed it in my code.

Any idea ? Perhaps I'm doing something wrong.

Regards.

_______________________________________________
Linphone-developers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/linphone-developers
You can not link a filter to a graph while is running: please link all your filters in the graph and then call ms_ticker_attach() just a for a filter (for instance soundread)

Regards

--Michele

_______________________________________________
Linphone-developers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/linphone-developers



Hello,
With your help I can use a conference as I wish. My last problem (I hope it's the last one) is that I need to send one output of the conference to the input of another conference with 2 differents tickers. I don't know if it's possible but nothing in the code tells me that I can't do this. I've tried to play with the pin odd or even but it didn't help me. I've tried to link directly the output of conf1 to the input of conf2 and run 2 tickers but I can't have any sound. For example, I've done this :

ms_filter_link (player, 0, conf1, 1); - 1 file player in conf1 (input) ms_filter_link (conf1, 1, conf2, 1); - link conf1 (output) to conf2 (input)
ms_filter_link (soundread, 0, conf2, 0);      - 1 mic in conf2 (input)
ms_filter_link (conf2, 0, soundwrite, 0); - 1 speaker in conf2 (output)

ms_ticker_attach (ticker1, player);
ms_ticker_attach (ticker2, soundread);

I've tried using a Tee filter to link the 2 conferences but again no sound.
I hope you can help me.

Regards.
Sorry, but you can't do that with standard msfilters.


Regards
--Michele

_______________________________________________
Linphone-developers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/linphone-developers


Okay, thanks for this information.
But is it possible to share multiple rtp packet from a session to differents conferences ? If I use MS_TEE, I don't understand how to use it with tickers.
For example :

ms_filter_link(rtprecv,0,decoder,0);
ms_filter_link(decoder,0,dtmfgen,0);
ms_filter_link(dtmfgen,0,tee,0);
ms_filter_attach(ticker1,rtprecv);      // Process RTP Packet and decode DTMF

ms_filter_link(tee,0,conf1,0);
ms_filter_attach(ticker2,tee,0);        // Process Tee output pin 0 to conf 1

ms_filter_link(tee,1,conf2,0);
ms_filter_attach(ticker3,tee,0);        // Process Tee output pin 1 to conf 2


When doing this I just have a crash in mediastreamer2 because the rtprecv filter does not have a ticker. I might be doing something wrong. If it's not a good way to do what I want, is there any solution to share a RTP incoming packet between 2, 3 or more conferences ? Any examples ? I will try to see why my program is crashing.

Thanks for your help again.
Regards.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]