亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? real.c

?? VLC Player Source Code
?? C
?? 第 1 頁 / 共 4 頁
字號:
                *pi64 = (int64_t)( 1000.0 * p_sys->i_our_duration * stream_Tell( p_demux->s ) / i64 );                return VLC_SUCCESS;            }            *pi64 = 0;            return VLC_EGENERIC;        case DEMUX_SET_POSITION:            f = (double) va_arg( args, double );            i64 = (int64_t) ( stream_Size( p_demux->s ) * f );            if ( p_sys->i_index_offset == 0 && i64 != 0 )            {                msg_Err(p_demux,"Seek No Index Real File failed!" );                return VLC_EGENERIC; // no index!            }            if ( i64 == 0 )            {                /* it is a rtsp stream , it is specials in access/rtsp/... */                msg_Dbg(p_demux, "Seek in real rtsp stream!");                p_sys->i_pcr = (int64_t)1000 * ( p_sys->i_our_duration * f  );                es_out_Control( p_demux->out, ES_OUT_RESET_PCR , p_sys->i_pcr );                p_sys->b_seek = 1;                return stream_Seek( p_demux->s, p_sys->i_pcr );            }            if ( p_sys->i_index_offset > 0 )            {                p_index = p_sys->p_index;                while( p_index->file_offset !=0 )                {                    if ( p_index->file_offset > i64 )                    {                        msg_Dbg( p_demux, "Seek Real find! %d %d %d",                                 p_index->time_offset, p_index->file_offset,                                 (uint32_t) i64 );                        if ( p_index != p_sys->p_index ) p_index --;                        i64 = p_index->file_offset;                        break;                    }                    p_index++;                }                p_sys->i_pcr = 1000 * (int64_t) p_index->time_offset;                es_out_Control( p_demux->out, ES_OUT_RESET_PCR , p_sys->i_pcr );                return stream_Seek( p_demux->s, i64 );            }        case DEMUX_SET_TIME:            i64 = (int64_t) va_arg( args, int64_t ) / 1000;            p_index = p_sys->p_index;            while( p_index->file_offset !=0 )            {                if ( p_index->time_offset > i64 )                {                    if ( p_index != p_sys->p_index )                        p_index --;                    i64 = p_index->file_offset;                    break;                }                p_index++;            }            p_sys->i_pcr = 1000 * (int64_t) p_index->time_offset;            es_out_Control( p_demux->out, ES_OUT_RESET_PCR , p_sys->i_pcr );            return stream_Seek( p_demux->s, i64 );        case DEMUX_GET_LENGTH:            pi64 = (int64_t*)va_arg( args, int64_t * );             /* the commented following lines are fen's implementation, which doesn't seem to             * work for one reason or another -- FK */            /*if( p_sys->i_mux_rate > 0 )            {                *pi64 = (int64_t)1000000 * ( stream_Size( p_demux->s ) / 50 ) / p_sys->i_mux_rate;                return VLC_SUCCESS;            }*/            if( p_sys->i_our_duration > 0 )            {                /* our stored duration is in ms, so... */                *pi64 = (int64_t)1000 * p_sys->i_our_duration;                 return VLC_SUCCESS;            }            *pi64 = 0;            return VLC_EGENERIC;        case DEMUX_GET_META:        {            vlc_meta_t *p_meta = (vlc_meta_t*)va_arg( args, vlc_meta_t* );            /* the core will crash if we provide NULL strings, so check             * every string first */            if( p_sys->psz_title )                vlc_meta_SetTitle( p_meta, p_sys->psz_title );            if( p_sys->psz_artist )                vlc_meta_SetArtist( p_meta, p_sys->psz_artist );            if( p_sys->psz_copyright )                vlc_meta_SetCopyright( p_meta, p_sys->psz_copyright );            if( p_sys->psz_description )                vlc_meta_SetDescription( p_meta, p_sys->psz_description );            return VLC_SUCCESS;        }        case DEMUX_GET_FPS:        default:            return VLC_EGENERIC;    }    return VLC_EGENERIC;}/***************************************************************************** * ReadRealIndex: *****************************************************************************/static void ReadRealIndex( demux_t *p_demux ){    demux_sys_t *p_sys = p_demux->p_sys;    uint8_t       buffer[100];    uint32_t      i_id;    uint32_t      i_size;    int           i_version;    unsigned int  i;    uint32_t      i_index_count;    if ( p_sys->i_index_offset == 0 )        return;    stream_Seek( p_demux->s, p_sys->i_index_offset );    if ( stream_Read( p_demux->s, buffer, 20 ) < 20 )        return ;    i_id = VLC_FOURCC( buffer[0], buffer[1], buffer[2], buffer[3] );    i_size      = GetDWBE( &buffer[4] );    i_version   = GetWBE( &buffer[8] );    msg_Dbg( p_demux, "Real index %4.4s size=%d version=%d",                 (char*)&i_id, i_size, i_version );    if( (i_size < 20) && (i_id != VLC_FOURCC('I','N','D','X')) )        return;    i_index_count = GetDWBE( &buffer[10] );    msg_Dbg( p_demux, "Real Index : num : %d ", i_index_count );    if( i_index_count == 0 )        return;    if( GetDWBE( &buffer[16] ) > 0 )        msg_Dbg( p_demux, "Real Index: Does next index exist? %d ",                        GetDWBE( &buffer[16] )  );    p_sys->p_index =             (rm_index_t *)malloc( sizeof( rm_index_t ) * (i_index_count+1) );    if( p_sys->p_index == NULL )    {        msg_Err( p_demux, "Memory allocation error" );         return;    }    memset( p_sys->p_index, 0, sizeof(rm_index_t) * (i_index_count+1) );    for( i=0; i<i_index_count; i++ )    {        if( stream_Read( p_demux->s, buffer, 14 ) < 14 )            return ;        if( GetWBE( &buffer[0] ) != 0 )        {            msg_Dbg( p_demux, "Real Index: invaild version of index entry %d ",                              GetWBE( &buffer[0] ) );            return;        }        p_sys->p_index[i].time_offset = GetDWBE( &buffer[2] );        p_sys->p_index[i].file_offset = GetDWBE( &buffer[6] );        p_sys->p_index[i].frame_index = GetDWBE( &buffer[10] );        msg_Dbg( p_demux, "Real Index: time %d file %d frame %d ",                        p_sys->p_index[i].time_offset,                        p_sys->p_index[i].file_offset,                        p_sys->p_index[i].frame_index );    }}/***************************************************************************** * HeaderRead: *****************************************************************************/static int HeaderRead( demux_t *p_demux ){    demux_sys_t *p_sys = p_demux->p_sys;    uint8_t header[100];    /* FIXME */    uint32_t    i_id;    uint32_t    i_size;    int64_t     i_skip;    int         i_version;    p_sys->p_meta = vlc_meta_New();    for( ;; )    {        /* Read the header */        if( stream_Read( p_demux->s, header, 10 ) < 10 )        {            return VLC_EGENERIC;        }        i_id        = VLC_FOURCC( header[0], header[1], header[2], header[3] );        i_size      = GetDWBE( &header[4] );        i_version   = GetWBE( &header[8] );        msg_Dbg( p_demux, "object %4.4s size=%d version=%d",                 (char*)&i_id, i_size, i_version );        if( i_size < 10 && i_id != VLC_FOURCC('D','A','T','A') )        {            msg_Dbg( p_demux, "invalid size for object %4.4s", (char*)&i_id );            return VLC_EGENERIC;        }        i_skip = i_size - 10;        if( i_id == VLC_FOURCC('.','R','M','F') )        {            if( stream_Read( p_demux->s, header, 8 ) < 8 ) return VLC_EGENERIC;            msg_Dbg( p_demux, "    - file version=0x%x num headers=%d",                     GetDWBE( &header[0] ), GetDWBE( &header[4] ) );            i_skip -= 8;        }        else if( i_id == VLC_FOURCC('P','R','O','P') )        {            int i_flags;            if( stream_Read(p_demux->s, header, 40) < 40 ) return VLC_EGENERIC;            msg_Dbg( p_demux, "    - max bitrate=%d avg bitrate=%d",                     GetDWBE(&header[0]), GetDWBE(&header[4]) );            msg_Dbg( p_demux, "    - max packet size=%d avg bitrate=%d",                     GetDWBE(&header[8]), GetDWBE(&header[12]) );            msg_Dbg( p_demux, "    - packets count=%d", GetDWBE(&header[16]) );            msg_Dbg( p_demux, "    - duration=%d ms", GetDWBE(&header[20]) );            msg_Dbg( p_demux, "    - preroll=%d ms", GetDWBE(&header[24]) );            msg_Dbg( p_demux, "    - index offset=%d", GetDWBE(&header[28]) );            msg_Dbg( p_demux, "    - data offset=%d", GetDWBE(&header[32]) );            msg_Dbg( p_demux, "    - num streams=%d", GetWBE(&header[36]) );             /* set the duration for export in control */            p_sys->i_our_duration = (int)GetDWBE(&header[20]);             p_sys->i_index_offset = GetDWBE(&header[28]);            i_flags = GetWBE(&header[38]);            msg_Dbg( p_demux, "    - flags=0x%x %s%s%s",                     i_flags,                     i_flags&0x0001 ? "PN_SAVE_ENABLED " : "",                     i_flags&0x0002 ? "PN_PERFECT_PLAY_ENABLED " : "",                     i_flags&0x0004 ? "PN_LIVE_BROADCAST" : "" );            i_skip -= 40;        }        else if( i_id == VLC_FOURCC('C','O','N','T') )        {            int i_len;            char *psz;             /* FIXME FIXME: should convert from whatever the character             * encoding of the input meta data is to UTF-8. */            stream_Read( p_demux->s, header, 2 );            if( ( i_len = GetWBE( header ) ) > 0 )            {                psz = malloc( i_len + 1 );                stream_Read( p_demux->s, psz, i_len );                psz[i_len] = '\0';                EnsureUTF8( psz );                msg_Dbg( p_demux, "    - title=`%s'", psz );                p_sys->psz_title = psz;                i_skip -= i_len;            }            i_skip -= 2;            stream_Read( p_demux->s, header, 2 );            if( ( i_len = GetWBE( header ) ) > 0 )            {                psz = malloc( i_len + 1 );                stream_Read( p_demux->s, psz, i_len );                psz[i_len] = '\0';                EnsureUTF8( psz );                msg_Dbg( p_demux, "    - author=`%s'", psz );                p_sys->psz_artist = psz;                i_skip -= i_len;            }            i_skip -= 2;            stream_Read( p_demux->s, header, 2 );            if( ( i_len = GetWBE( header ) ) > 0 )            {                psz = malloc( i_len + 1 );                stream_Read( p_demux->s, psz, i_len );                psz[i_len] = '\0';                EnsureUTF8( psz );                msg_Dbg( p_demux, "    - copyright=`%s'", psz );                p_sys->psz_copyright = psz;                i_skip -= i_len;            }            i_skip -= 2;            stream_Read( p_demux->s, header, 2 );            if( ( i_len = GetWBE( header ) ) > 0 )            {                psz = malloc( i_len + 1 );                stream_Read( p_demux->s, psz, i_len );                psz[i_len] = '\0';                EnsureUTF8( psz );                msg_Dbg( p_demux, "    - comment=`%s'", psz );                p_sys->psz_description = psz;                i_skip -= i_len;            }            i_skip -= 2;        }        else if( i_id == VLC_FOURCC('M','D','P','R') )        {            /* Media properties header */            int  i_num;            int  i_len;            char *psz;            if( stream_Read(p_demux->s, header, 30) < 30 ) return VLC_EGENERIC;            i_num = GetWBE( header );            msg_Dbg( p_demux, "    - id=0x%x", i_num );            msg_Dbg( p_demux, "    - max bitrate=%d avg bitrate=%d",                     GetDWBE(&header[2]), GetDWBE(&header[6]) );            msg_Dbg( p_demux, "    - max packet size=%d avg packet size=%d",                     GetDWBE(&header[10]), GetDWBE(&header[14]) );            msg_Dbg( p_demux, "    - start time=%d", GetDWBE(&header[18]) );            msg_Dbg( p_demux, "    - preroll=%d", GetDWBE(&header[22]) );            msg_Dbg( p_demux, "    - duration=%d", GetDWBE(&header[26]) );             i_skip -= 30;            stream_Read( p_demux->s, header, 1 );            if( ( i_len = header[0] ) > 0 )            {                psz = malloc( i_len + 1 );                stream_Read( p_demux->s, psz, i_len );                psz[i_len] = '\0';                msg_Dbg( p_demux, "    - name=`%s'", psz );                free( psz );                i_skip -= i_len;            }            i_skip--;            stream_Read( p_demux->s, header, 1 );            if( ( i_len = header[0] ) > 0 )            {                psz = malloc( i_len + 1 );                stream_Read( p_demux->s, psz, i_len );                psz[i_len] = '\0';                msg_Dbg( p_demux, "    - mime=`%s'", psz );                free( psz );                i_skip -= i_len;            }            i_skip--;            stream_Read( p_demux->s, header, 4 );            if( ( i_len = GetDWBE( header ) ) > 0 )            {                ReadCodecSpecificData( p_demux, i_len, i_num );                stream_Read( p_demux->s, NULL, i_len );                i_skip -= i_len;            }            i_skip -= 4;        }        else if( i_id == VLC_FOURCC('D','A','T','A') )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品久久久| 欧美亚洲综合在线| 欧美系列一区二区| 久久久电影一区二区三区| 亚洲综合视频在线| yourporn久久国产精品| 日韩欧美一二三| 一区二区三区在线视频免费观看| 国产一区二区三区香蕉| 欧美巨大另类极品videosbest | 日本美女一区二区三区| 91网上在线视频| 亚洲国产高清在线观看视频| 麻豆91精品视频| 欧美日韩国产欧美日美国产精品| 综合色中文字幕| 成人影视亚洲图片在线| 亚洲精品一区二区三区99| 日本伊人午夜精品| 欧美伊人久久久久久午夜久久久久| 国产精品毛片无遮挡高清| 国产精品亚洲一区二区三区妖精| 日韩一区二区三区电影在线观看| 午夜精品福利一区二区三区av| 91精品91久久久中77777| 综合久久国产九一剧情麻豆| 成人免费视频一区| 国产精品欧美一级免费| 成人午夜精品在线| 国产免费观看久久| 国产suv精品一区二区6| 久久久三级国产网站| 国产高清在线观看免费不卡| 日韩欧美国产系列| 国产一区二区看久久| 久久亚区不卡日本| 国产福利精品导航| 欧美国产乱子伦 | 亚洲一区二区高清| 欧美唯美清纯偷拍| 亚洲一区二区三区四区在线 | 日本午夜精品视频在线观看| 在线播放日韩导航| 蜜臀av亚洲一区中文字幕| 日韩一区二区免费在线电影| 国产在线精品一区二区三区不卡| 久久免费午夜影院| 91在线高清观看| 午夜精品在线看| 久久夜色精品国产欧美乱极品| 国产在线视频不卡二| 欧美韩国日本不卡| 欧美专区日韩专区| 激情久久久久久久久久久久久久久久| 国产亚洲一区字幕| 欧美在线视频不卡| 久久99精品国产91久久来源| 欧美激情中文字幕| 欧美三级一区二区| 精品影视av免费| 国产精品国产三级国产有无不卡| 欧美亚洲日本一区| 国产精品一二三四五| 亚洲乱码中文字幕| 日韩免费看的电影| 99re成人在线| 性做久久久久久| 国产亚洲福利社区一区| 色综合夜色一区| 黄一区二区三区| 一区二区日韩av| 久久亚洲精品小早川怜子| 欧美性生活大片视频| 国产东北露脸精品视频| 亚洲第一搞黄网站| 国产精品电影一区二区| 日韩一二三区视频| 色婷婷综合久久久久中文| 国产美女精品人人做人人爽| 亚洲成人一区在线| 国产精品久久久99| 26uuu欧美| 日韩一区二区三区免费看| 91色在线porny| 国产98色在线|日韩| 蜜桃久久久久久久| 亚洲成av人影院| 亚洲人快播电影网| 中日韩av电影| 国产亚洲一区二区三区在线观看| 69堂国产成人免费视频| 在线观看精品一区| 91免费国产在线观看| 国产成人精品三级| 国产乱码一区二区三区| 日本美女视频一区二区| 丝袜美腿高跟呻吟高潮一区| 一区二区三区日韩精品视频| 亚洲欧洲精品一区二区精品久久久| 精品少妇一区二区三区在线视频| 欧美午夜寂寞影院| 色老综合老女人久久久| 91女厕偷拍女厕偷拍高清| 成人深夜在线观看| 国产xxx精品视频大全| 国模套图日韩精品一区二区| 九九精品视频在线看| 美脚の诱脚舐め脚责91| 日韩av网站在线观看| 日韩av一区二| 蜜臀91精品一区二区三区| 免费成人性网站| 蜜桃av一区二区| 狠狠色狠狠色综合| 国产精华液一区二区三区| 国产在线视视频有精品| 国产乱子轮精品视频| 丁香另类激情小说| www.av精品| 色吧成人激情小说| 欧美三级午夜理伦三级中视频| 欧美亚洲禁片免费| 欧美一级二级在线观看| 欧美精品一区二区三区四区| 国产日韩高清在线| 中文字幕在线不卡| 亚洲综合色在线| 美美哒免费高清在线观看视频一区二区| 蜜臀va亚洲va欧美va天堂| 久久国产精品99精品国产| 国产原创一区二区| 丁香网亚洲国际| 91论坛在线播放| 欧美色视频在线| 精品成人a区在线观看| 国产精品美女一区二区| 亚洲一二三四在线观看| 青青青伊人色综合久久| 国产福利91精品| 91麻豆自制传媒国产之光| 欧美日韩高清一区二区三区| 精品日韩欧美一区二区| 一区在线观看免费| 日韩精品一二三| 成人一区二区三区视频在线观看 | 91首页免费视频| 欧美丰满一区二区免费视频| 欧美精品一区二区三区蜜桃视频 | 亚洲综合久久av| 激情六月婷婷久久| 91黄色免费观看| 精品成人免费观看| 亚洲精品一二三| 黑人巨大精品欧美一区| 在线中文字幕一区二区| 久久久精品蜜桃| 午夜久久久久久久久| av影院午夜一区| 日韩美女视频一区二区在线观看| 国产精品激情偷乱一区二区∴| 日本vs亚洲vs韩国一区三区| 91色婷婷久久久久合中文| 精品国产乱子伦一区| 亚洲一区自拍偷拍| 成人黄色片在线观看| 日韩三级视频在线看| 亚洲最新视频在线观看| 国产成人午夜精品影院观看视频| 欧美剧情电影在线观看完整版免费励志电影| 国产日韩精品一区二区三区| 免费观看在线色综合| 欧美综合久久久| 综合久久国产九一剧情麻豆| 国产盗摄视频一区二区三区| 91精品国产综合久久精品app| 亚洲女爱视频在线| 丁香六月综合激情| 欧美一卡2卡3卡4卡| 亚洲成人av一区二区三区| 91丨porny丨中文| 中文字幕av一区 二区| 国产伦精品一区二区三区视频青涩 | 日韩一区二区影院| 亚洲一区二区三区小说| 99re成人精品视频| 国产精品美女一区二区| 国产成人精品免费| 国产三级精品三级在线专区| 国产乱一区二区| 久久精品一区二区三区不卡| 精品一区二区成人精品| 日韩一区二区三区免费观看| 日本不卡视频在线观看| 在线不卡一区二区| 日本中文一区二区三区| 制服丝袜成人动漫| 日韩电影在线观看网站| 91精品国产综合久久福利 | 一区二区理论电影在线观看| 成人免费高清视频|