1. In the "recog_engine_channel_create" method, I add two codec capabilities :
mpf_codec_capabilities_add(
&capabilities->codecs,
MPF_SAMPLE_RATE_8000,
"PCMU");
mpf_codec_capabilities_add(
&capabilities->codecs,
MPF_SAMPLE_RATE_8000,
"PCMA");
2. My MRCP client sends the following SETUP :
CSeq: 0
Transport: RTP/AVP;unicast;client_port=13350-13351
Content-Type: application/sdp
Content-Length: 230
v=0
o=telisma 1273240811 1273240811 IN IP4 192.168.1.34
s=telisma MRCP Client
c=IN IP4 192.168.1.34
t=0 0
m=audio 13350 RTP/AVP 8 101
a=rtpmap:8 pcma/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendonly
3. The uniMrcp returns :
Source->[PCMA/8000/1]->Decoder->[LPCM/8000/1]->Bridge->[LPCM/8000/1]->Encoder->[PCMU/8000/1]->Sink
when I call "mrcp_engine_source_stream_codec_get" in the channel stream open / write" methods, the function returns NULL
when I call "mrcp_engine_sink_stream_codec_get" in the channel stream open / write" methods, the function returns a valid pointer and the coded is 128.
4. The SETUP result is :
RTSP/1.0 200 OK
CSeq: 0
Transport: RTP/AVP;unicast;client_port=13350-13351;server_port=5000-5001
Session: 2b93b28abec29246
Content-Type: application/sdp
Content-Length: 195
v=0
o=UniMRCPServer 0 0 IN IP4 192.168.1.34
s=-
c=IN IP4 192.168.1.34
t=0 0
m=audio 5000 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=recvonly
---------------------------------------------------------------------
=> Two issue for me :
1. How can I do to knwon the codec of the datas sent to my plugin (via "channel stream write" method)
2. Why uniMRCP doesnt' retur/find) :
Source->[PCMA/8000/1]-> Bridge -> [PCMA/8000/1]->Sink
My solution today : I only add the PCMU capabilities and set my ASR parameter to PCMU. But I lose the original datas from MRCP client and the uniMRCP take time with the Decoder/Encoder.
Thanks
Anthony