Hi,
[email protected] wrote:
Here is the section of code in AmMediaProcessorThread::processAudio()
that handles local output:
} else {
// output is local - audio should go in local_out
AmAudio* local_output = s->getLocalOutput();
if (local_output) {
if (local_output->put(ts,buffer,size)) {
postRequest(new SchedRequest(AmMediaProcessor::ClearSession,s));
}
}
}
If I'm not mistaken, the ClearSession event is supposed to remove the
session from processing if something goes wrong. But, in this section
of code, it appears to remove the session if the put() call returns a
non-zero value, which I think is what is normally returned for a
successful put. Should the test be this instead?
if (local_output->put(ts,buffer,size) < 0) {
thanks, fixed.
Stefan
I noticed this problem when I tried to configure a generic AmSession
to be used to play announcements into a conference call. (The
opposite of what Stefan helped me set up to record conferences.) From
the debug logs, I see that immediately after the first get() is called
for the object, it is summarily removed from the media processor, and
never processed again.
--
Stefan Sayer
VoIP Services Consulting and Development
Warschauer Str. 24
10243 Berlin
tel:+491621366449
sip:[email protected]
email/xmpp:[email protected]
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems