Changeset 155614be656a8ae32310a792d3b39900bf06bfbe

Show
Ignore:
Timestamp:
02/09/08 23:22:51 (3 months ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1220390571 +0200
git-parent:

[8fab20701f86d1f51a60fce4eed2a04856e7db14]

git-author:
Laurent Aimar <fenrir@videolan.org> 1220390248 +0200
Message:

Fixed a big rtp demuxer.

DEMUX_GET_PTS_DELAY should returns microsecond.

You should NOT remove caching to PTS to create PCR.
It was probably a workaround for the previous bug. It could explains
the problems with TS over RTP (for TS with small pcr/pts delay that is, not
created by VLC)

Implemented missing DEMUX_CAN_* query.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/demux/rtp.c

    ra87c0c1 r155614b  
    335335            float *v = va_arg (args, float *); 
    336336            *v = 0.; 
    337             return 0
     337            return VLC_SUCCESS
    338338        } 
    339339 
     
    343343            int64_t *v = va_arg (args, int64_t *); 
    344344            *v = 0; 
    345             return 0
     345            return VLC_SUCCESS
    346346        } 
    347347 
     
    349349        { 
    350350            int64_t *v = va_arg (args, int64_t *); 
    351             *v = p_sys->caching; 
    352             return 0; 
     351            *v = p_sys->caching * 1000; 
     352            return VLC_SUCCESS; 
     353        } 
     354 
     355        case DEMUX_CAN_PAUSE: 
     356        case DEMUX_CAN_SEEK: 
     357        case DEMUX_CAN_CONTROL_PACE: 
     358        { 
     359            bool *v = (bool*)va_arg( args, bool * ); 
     360            *v = false; 
     361            return VLC_SUCCESS; 
    353362        } 
    354363    } 
     
    454463    { 
    455464        block->i_dts = 0; /* RTP does not specify this */ 
    456         es_out_Control (demux->out, ES_OUT_SET_PCR, 
    457                         block->i_pts - demux->p_sys->caching * 1000); 
     465        es_out_Control (demux->out, ES_OUT_SET_PCR, block->i_pts ); 
    458466        es_out_Send (demux->out, (es_out_id_t *)data, block); 
    459467    }