in the pjmedia_wav_player_port_set_pos function, there is a bug!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

I found this in test a little size wav file(i.e. duration time:96ms)

file:../pjmedia/src/pjmedia/wav_player.c

line:430

function:PJ_DEF(pj_status_t) pjmedia_wav_player_port_set_pos(pjmedia_port
*port,
    pj_uint32_t bytes )

PJ_DEF(pj_status_t) pjmedia_wav_player_port_set_pos(pjmedia_port *port,
    pj_uint32_t bytes )
{
    struct file_reader_port *fport;
    pj_status_t status;

    /* Sanity check */
    PJ_ASSERT_RETURN(port, PJ_EINVAL);

    /* Check that this is really a player port */
    PJ_ASSERT_RETURN(port->info.signature == SIGNATURE, PJ_EINVALIDOP);


    fport = (struct file_reader_port*) port;

    PJ_ASSERT_RETURN(bytes < fport->fsize - fport->start_data, PJ_EINVAL);

    fport->fpos = fport->start_data + bytes;
    pj_file_setpos( fport->fd, fport->fpos, PJ_SEEK_SET);

    fport->eof = PJ_FALSE;
    return fill_buffer(fport);

    status = fill_buffer(fport);

    if (PJ_SUCCESS == status)
        fport->readpos = fport->buf;

return status;
}

regards!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20100529/ac12bb08/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux