Ignore:
Timestamp:
Jul 15, 2011 10:19:59 AM (13 years ago)
Author:
nanang
Message:

Fix #1295: Added thin wrapper for audio and video codec operations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia/stream.c

    r3640 r3663  
    516516                frame_out.buf = p_out_samp + samples_count; 
    517517                frame_out.size = frame->size - samples_count*2; 
    518                 status = (*stream->codec->op->recover)(stream->codec, 
    519                                                        frame_out.size, 
    520                                                        &frame_out); 
     518                status = pjmedia_codec_recover(stream->codec, 
     519                                               frame_out.size, 
     520                                               &frame_out); 
    521521 
    522522                ++stream->plc_cnt; 
     
    565565                        frame_out.buf = p_out_samp + samples_count; 
    566566                        frame_out.size = frame->size - samples_count*2; 
    567                         status = (*stream->codec->op->recover)(stream->codec, 
    568                                                                frame_out.size, 
    569                                                                &frame_out); 
     567                        status = pjmedia_codec_recover(stream->codec, 
     568                                                       frame_out.size, 
     569                                                       &frame_out); 
    570570                        if (status != PJ_SUCCESS) 
    571571                            break; 
     
    620620                    frame_out.buf = p_out_samp + samples_count; 
    621621                    frame_out.size = frame->size - samples_count*2; 
    622                     status = (*stream->codec->op->recover)(stream->codec, 
    623                                                            frame_out.size, 
    624                                                            &frame_out); 
     622                    status = pjmedia_codec_recover(stream->codec, 
     623                                                   frame_out.size, 
     624                                                   &frame_out); 
    625625                    if (status != PJ_SUCCESS) 
    626626                        break; 
     
    671671            frame_out.buf = p_out_samp + samples_count; 
    672672            frame_out.size = frame->size - samples_count*BYTES_PER_SAMPLE; 
    673             status = stream->codec->op->decode( stream->codec, &frame_in, 
    674                                                 frame_out.size, &frame_out); 
     673            status = pjmedia_codec_decode( stream->codec, &frame_in, 
     674                                           frame_out.size, &frame_out); 
    675675            if (status != 0) { 
    676676                LOGERR_((port->info.name.ptr, "codec decode() error",  
     
    775775            frame_in.type = PJMEDIA_FRAME_TYPE_AUDIO; 
    776776 
    777             status = stream->codec->op->decode( stream->codec, &frame_in, 
    778                                                 0, frame); 
     777            status = pjmedia_codec_decode( stream->codec, &frame_in, 
     778                                           0, frame); 
    779779            if (status != PJ_SUCCESS) { 
    780780                LOGERR_((port->info.name.ptr, "codec decode() error",  
     
    802802            status = PJ_SUCCESS; 
    803803            if (stream->codec->op->recover) { 
    804                 status = (*stream->codec->op->recover)(stream->codec, 
    805                                                        0, frame); 
     804                status = pjmedia_codec_recover(stream->codec, 0, frame); 
    806805            } 
    807806             
     
    12491248         
    12501249        /* Encode! */ 
    1251         status = stream->codec->op->encode( stream->codec, &silence_frame, 
    1252                                             channel->out_pkt_size -  
    1253                                             sizeof(pjmedia_rtp_hdr), 
    1254                                             &frame_out); 
     1250        status = pjmedia_codec_encode( stream->codec, &silence_frame, 
     1251                                       channel->out_pkt_size -  
     1252                                       sizeof(pjmedia_rtp_hdr), 
     1253                                       &frame_out); 
    12551254        if (status != PJ_SUCCESS) { 
    12561255            LOGERR_((stream->port.info.name.ptr,  
     
    12731272    { 
    12741273        /* Encode! */ 
    1275         status = stream->codec->op->encode( stream->codec, frame,  
    1276                                             channel->out_pkt_size -  
    1277                                             sizeof(pjmedia_rtp_hdr), 
    1278                                             &frame_out); 
     1274        status = pjmedia_codec_encode( stream->codec, frame,  
     1275                                       channel->out_pkt_size -  
     1276                                       sizeof(pjmedia_rtp_hdr), 
     1277                                       &frame_out); 
    12791278        if (status != PJ_SUCCESS) { 
    12801279            LOGERR_((stream->port.info.name.ptr,  
     
    14261425    { 
    14271426        stream->codec_param.setting.vad = stream->vad_enabled; 
    1428         stream->codec->op->modify(stream->codec, &stream->codec_param); 
     1427        pjmedia_codec_modify(stream->codec, &stream->codec_param); 
    14291428        PJ_LOG(4,(stream->port.info.name.ptr,"VAD re-enabled")); 
    14301429    } 
     
    16921691 
    16931692        /* Parse the payload. */ 
    1694         status = (*stream->codec->op->parse)(stream->codec, 
    1695                                              (void*)payload, 
    1696                                              payloadlen, 
    1697                                              &ts, 
    1698                                              &count, 
    1699                                              frames); 
     1693        status = pjmedia_codec_parse(stream->codec, (void*)payload, 
     1694                                     payloadlen, &ts, &count, frames); 
    17001695        if (status != PJ_SUCCESS) { 
    17011696            LOGERR_((stream->port.info.name.ptr,  
     
    20592054 
    20602055    /* Open the codec. */ 
    2061     status = stream->codec->op->open(stream->codec, &stream->codec_param); 
     2056    status = pjmedia_codec_open(stream->codec, &stream->codec_param); 
    20622057    if (status != PJ_SUCCESS) 
    20632058        goto err_cleanup; 
     
    21382133        stream->codec_param.setting.vad = 0; 
    21392134        stream->ts_vad_disabled = 0; 
    2140         stream->codec->op->modify(stream->codec, &stream->codec_param); 
     2135        pjmedia_codec_modify(stream->codec, &stream->codec_param); 
    21412136        PJ_LOG(4,(stream->port.info.name.ptr,"VAD temporarily disabled")); 
    21422137    } 
     
    24412436 
    24422437    if (stream->codec) { 
    2443         stream->codec->op->close(stream->codec); 
     2438        pjmedia_codec_close(stream->codec); 
    24442439        pjmedia_codec_mgr_dealloc_codec(stream->codec_mgr, stream->codec); 
    24452440        stream->codec = NULL; 
Note: See TracChangeset for help on using the changeset viewer.