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.