Hi,
Самусенко Андрей wrote:
I want to receive dtmfs.
2833/4733 RTP packets i guess (in-band is more complicated, you need
to support the codec etc).
Where i can set the buffering?
if you don't set anything, fifo buffering is activated.
Index: core/AmRtpAudio.cpp
===================================================================
--- core/AmRtpAudio.cpp (revision 1772)
+++ core/AmRtpAudio.cpp (working copy)
@@ -34,7 +34,7 @@
AmRtpAudio::AmRtpAudio(AmSession* _s)
: AmRtpStream(_s), AmAudio(0),
/*last_ts_i(false),*/ use_default_plc(true),
- send_only(false), playout_buffer(new AmPlayoutBuffer(this)),
+ send_only(false), playout_buffer(new AmAdaptivePlayout(this)),
last_check(0),last_check_i(false),send_int(false)
has no effect.
that would set adaptive playout - you definitely don't want to do that
(btw, you can set playout buffer with RTPStream()->setPlayoutType()).
I think that there is something wrong with the packet length and the
timestamp in the playout buffer, which is not surprising, because the
encoded frames are shorter than PCM... so, looking at the code, I
think the best is to do RTPStream()->setSendOnly(true), this way the
DTMF is still received, but the received packets are not processed
further.
If you wanted to record encoded RTP, I think you would need to change
PlayoutBuffer to have a mode without PLC.
Stefan
I have some questions:
1. Why
inline bool ts_less::operator()(const unsigned int& l,
const unsigned int& r) const
{
return (l - r > (unsigned int)(1<<31));
}
instead "l > r"?
2. recv_offset, rtp_ts, ref_ts is unsigned.
recv_offset = rtp_ts - ref_ts;
It's ok? Timestamp of SJphone's first RTP packet is equal 0.
On 17.05.2010 17:17, Stefan Sayer wrote:
Hi Andrey,
if you want to receive and e.g. record the encoded RTP, you need to
set the buffering to fifo buffer - otherwise it tries to do packet
loss concealment there, which of course does not work with encoded
RTP. If you have set adaptive playout, it event tries to stretch the
voice.
Additionally, I think you may need to set the packet size correctly in
the other direction (receiving).
Regards
Stefan
Самусенко Андрей wrote:
Hello.
If
*Index: PrecodedAnnounce.cpp
===================================================================
--- PrecodedAnnounce.cpp (revision 1772)
+++ PrecodedAnnounce.cpp (working copy)
@@ -103,7 +103,7 @@
}
setOutput(file);
- setReceiving(false);
+ setReceiving(true);
}*
then log look like
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
(29306) DEBUG: [7fe286ed4710] conceal_loss (AmRtpAudio.cpp:182):
default PLC (ts_diff = 144; s = 160)
.................
Sorry for repeat of this question.
------------------------------------------------------------------------
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev
--
Stefan Sayer
VoIP Services Consulting and Development
Warschauer Str. 24
10243 Berlin
tel:+491621366449
sip:[email protected]
email/xmpp:[email protected]
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev