[Sumover-tech] Why there are so many layers?

=?GB2312?B?s8K9qMP6?= chjm8569 at gmail.com
Thu Jun 21 07:53:05 BST 2007


Hi, all:
     I am ChenJianming, a student major in communication engineering in
Mainland China.
Recently I have always been reading some source codes of RAT(rat-4.2.23) on
the purpose
of interpreting well of mutil-layers speech signal coding over IP
conference, which is a homework
project assigned by our teacher. But when I traced some source code, it
confused me so much.
     As I know, in the definition of s_session structure, there is a
statement of
" struct rtp  *rtp_session[MAX_LAYERS] ", and I think this just is basement
of multi-layer
signal processing.
     Staring from here, I found that in the "main_engine.c", at about 295th
line, it called the
function "rtp_recv(sp[i]->rtp_session[j], &timeout, rtp_time))". On using of
this function, it got
each layer's data for the same speech chunck. The following flow is the
processing sequence:
rtp_recv-->rtp_recv_data()-->process_rtp()-->session->callback()-->process_rtp_data()-->
source_add_packet()-->pktbuf_enqueue()-->pb_add().
     For the last function, in the implementation of it, we could find out
these statements:
     if (curr != stop && ts_eq(curr->playout, playout)) {
                debug_msg("Add failed - unit already exists\n");
                return FALSE;
        }
     So, for different layers of the same speech chunck, the timestamp of
each packet should be
the same. And from the above statement. we can found that RAT would never
successfully insert
the other layer's data because of equal in the timestamp. This is just a
wired result...
    Does this version of RAT(4.2.23) still not support the real multi-layer
transmitting? Or I have made
some mistakes on the above?
    Any suggestion will be appreciated. Thanks in advance.


-- 

Sincerely Yours,
ChenJianming
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oakham.cs.ucl.ac.uk/pipermail/sumover-tech/attachments/20070621/64414c88/attachment.html


More information about the Sumover-tech mailing list