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

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

?? real.c

?? VLC Player Source Code
?? C
?? 第 1 頁 / 共 4 頁
字號:
        {            stream_Read( p_demux->s, header, 8 );            p_sys->i_data_offset    = stream_Tell( p_demux->s ) - 10;            p_sys->i_data_size      = i_size;            p_sys->i_data_packets_count = GetDWBE( header );            p_sys->i_data_packets   = 0;            p_sys->i_data_offset_next = GetDWBE( &header[4] );            msg_Dbg( p_demux, "    - packets count=%d next=%u",                     p_sys->i_data_packets_count,                     (uint32_t)p_sys->i_data_offset_next );            /* we have finished the header */            break;        }        else        {            /* unknow header */            msg_Dbg( p_demux, "unknown chunk" );        }        if( i_skip < 0 ) return VLC_EGENERIC;        stream_Read( p_demux->s, NULL, i_skip );    }    /* TODO read index if possible */    if ( p_sys->i_index_offset > 0 )    {        int64_t pos;        pos = stream_Tell( p_demux->s );        ReadRealIndex( p_demux );        stream_Seek( p_demux->s, pos );    }    return VLC_SUCCESS;}static const uint8_t * MetaRead( demux_t *p_demux, const uint8_t *p_peek ){    demux_sys_t *p_sys = p_demux->p_sys;    int i_len;    char *psz;    /* Title */    i_len = *p_peek ; p_peek++;    if( i_len > 0 )    {        psz = malloc( i_len + 1 );        memcpy( psz, p_peek, i_len );        psz[i_len] = '\0';        EnsureUTF8( psz );        msg_Dbg( p_demux, "    - title=`%s'", psz );        p_sys->psz_title = psz;    }    p_peek += i_len;    /* Authors */    i_len = *p_peek ; p_peek++;    if( i_len > 0 )    {        psz = malloc( i_len + 1 );        memcpy( psz, p_peek, i_len );        psz[i_len] = '\0';        EnsureUTF8( psz );        msg_Dbg( p_demux, "    - artist=`%s'", psz );        p_sys->psz_artist = psz;    }    p_peek += i_len;    /* Copyright */    i_len = *p_peek ; p_peek++;    if( i_len > 0 )    {        psz = malloc( i_len + 1 );        memcpy( psz, p_peek, i_len );        psz[i_len] = '\0';        EnsureUTF8( psz );        msg_Dbg( p_demux, "    - Copyright=`%s'", psz );        p_sys->psz_copyright = psz;    }    p_peek += i_len;    /* Comment */    i_len = *p_peek ; p_peek++;    if( i_len > 0 )    {        psz = malloc( i_len + 1 );        memcpy( psz, p_peek, i_len );        psz[i_len] = '\0';        EnsureUTF8( psz );        msg_Dbg( p_demux, "    - Comment=`%s'", psz );        p_sys->psz_description = psz;    }    p_peek += i_len;    return p_peek;}static int ReadCodecSpecificData( demux_t *p_demux, int i_len, int i_num ){    demux_sys_t *p_sys = p_demux->p_sys;    es_format_t fmt;    real_track_t *tk;    const uint8_t *p_peek;    msg_Dbg( p_demux, "    - specific data len=%d", i_len );    if( stream_Peek(p_demux->s, &p_peek, i_len) < i_len ) return VLC_EGENERIC;    if( ( i_len >= 8 ) && !memcmp( &p_peek[4], "VIDO", 4 ) )    {        es_format_Init( &fmt, VIDEO_ES, VLC_FOURCC( p_peek[8], p_peek[9],                        p_peek[10], p_peek[11] ) );        fmt.video.i_width = GetWBE( &p_peek[12] );        fmt.video.i_height= GetWBE( &p_peek[14] );        fmt.i_extra = 8;        fmt.p_extra = malloc( 8 );        ((uint32_t*)fmt.p_extra)[0] = GetDWBE( &p_peek[26] );        ((uint32_t*)fmt.p_extra)[1] = GetDWBE( &p_peek[30] );        msg_Dbg( p_demux, "    - video 0x%08x 0x%08x",                 ((uint32_t*)fmt.p_extra)[0], ((uint32_t*)fmt.p_extra)[1] );        if( GetDWBE( &p_peek[30] ) == 0x10003000 ||            GetDWBE( &p_peek[30] ) == 0x10003001 )        {            fmt.i_codec = VLC_FOURCC( 'R','V','1','3' );        }        else if( GetDWBE( &p_peek[30] ) == 0x20001000 ||                 GetDWBE( &p_peek[30] ) == 0x20100001 ||                 GetDWBE( &p_peek[30] ) == 0x20200002 )        {            fmt.i_codec = VLC_FOURCC( 'R','V','2','0' );        }        else if( GetDWBE( &p_peek[30] ) == 0x30202002 )        {            fmt.i_codec = VLC_FOURCC( 'R','V','3','0' );        }        else if( GetDWBE( &p_peek[30] ) == 0x40000000 )        {            fmt.i_codec = VLC_FOURCC( 'R','V','4','0' );        }        msg_Dbg( p_demux, "    - video %4.4s %dx%d",                 (char*)&fmt.i_codec, fmt.video.i_width, fmt.video.i_height );        tk = malloc( sizeof( real_track_t ) );        tk->i_out_subpacket = 0;        tk->i_subpacket = 0;        tk->i_subpackets = 0;        tk->p_subpackets = NULL;        tk->p_subpackets_timecode = NULL;        tk->i_id = i_num;        tk->fmt = fmt;        tk->i_frame = 0;        tk->p_frame = NULL;        tk->p_es = es_out_Add( p_demux->out, &fmt );        TAB_APPEND( p_sys->i_track, p_sys->track, tk );    }    else if( !strncmp( (char *)p_peek, ".ra\xfd", 4 ) )    {        int i_header_size = 0;        int i_flavor = 0;        int i_coded_frame_size = 0;        int i_subpacket_h = 0;        int i_frame_size = 0;        int i_subpacket_size = 0;        char p_genr[4];        int i_version = GetWBE( &p_peek[4] );   /* [0..3] = '.','r','a',0xfd */        msg_Dbg( p_demux, "    - audio version=%d", i_version );        p_peek += 6;                                          /* 4 + version */        es_format_Init( &fmt, AUDIO_ES, 0 );        if( i_version == 3 ) /* RMF version 3 or .ra version 3 */        {            i_header_size = GetWBE( p_peek ); p_peek += 2;  /* Size from now */            p_peek += 10;                                         /* Unknown */            msg_Dbg( p_demux, "Data Size: %i", GetDWBE( p_peek ) );            p_peek += 4;                                        /* Data Size */            /* Meta Datas */            p_peek = MetaRead( p_demux, p_peek );            p_peek ++;                                            /* Unknown */            p_peek ++;                                  /* FourCC length = 4 */            memcpy( (char *)&fmt.i_codec, p_peek, 4 ); p_peek += 4; /* FourCC*/            fmt.audio.i_channels = 1;      /* This is always the case in rm3 */            fmt.audio.i_rate = 8000;            msg_Dbg( p_demux, "    - audio codec=%4.4s channels=%d rate=%dHz",                 (char*)&fmt.i_codec, fmt.audio.i_channels, fmt.audio.i_rate );        }        else  /* RMF version 4/5 or .ra version 4 */        {            p_peek += 2;                                            /* 00 00 */            p_peek += 4;                                     /* .ra4 or .ra5 */            p_peek += 4;                                        /* data size */            p_peek += 2;                                 /* version (4 or 5) */            i_header_size = GetDWBE( p_peek ); p_peek += 4;   /* header size */            i_flavor = GetWBE( p_peek ); p_peek += 2;        /* codec flavor */            i_coded_frame_size = GetDWBE( p_peek ); p_peek += 4; /* coded frame size*/            p_peek += 4;                                               /* ?? */            p_peek += 4;                                               /* ?? */            p_peek += 4;                                               /* ?? */            i_subpacket_h = GetWBE( p_peek ); p_peek += 2;              /* 1 */            i_frame_size = GetWBE( p_peek ); p_peek += 2;      /* frame size */            i_subpacket_size = GetWBE( p_peek ); p_peek += 2;  /* subpacket_size */            if( (!i_subpacket_size && !p_sys->b_is_real_audio )                || !i_frame_size || !i_coded_frame_size )                 return VLC_EGENERIC;            p_peek += 2;                                               /* ?? */            if( i_version == 5 ) p_peek += 6;                 /* 0, srate, 0 */            fmt.audio.i_rate = GetWBE( p_peek ); p_peek += 2;  /* Sample Rate */            p_peek += 2;                                                /* ?? */            fmt.audio.i_bitspersample = GetWBE( p_peek ); p_peek += 2;/* Sure?*/            fmt.audio.i_channels = GetWBE( p_peek ); p_peek += 2; /* Channels */            fmt.audio.i_blockalign = i_frame_size;            if( i_version == 5 )            {                memcpy( (char *)p_genr, p_peek, 4 ); p_peek += 4;    /* genr */                memcpy( (char *)&fmt.i_codec, p_peek, 4 ); p_peek += 4;            }            else /* version 4 */            {                p_peek += 1 + p_peek[0];   /* Inteleaver ID string and lenth */                memcpy( (char *)&fmt.i_codec, p_peek + 1, 4 );     /* FourCC */                p_peek += 1 + p_peek[0];            }            msg_Dbg( p_demux, "    - audio codec=%4.4s channels=%d rate=%dHz",                 (char*)&fmt.i_codec, fmt.audio.i_channels, fmt.audio.i_rate );            p_peek += 3;                                               /* ?? */            if( p_sys->b_is_real_audio )            {                p_peek = MetaRead( p_demux, p_peek );            }            else            {                if( i_version == 5 ) p_peek++;                /* Extra Data then: DWord + byte[] */                fmt.i_extra = GetDWBE( p_peek ); p_peek += 4;            }        }        switch( fmt.i_codec )        {        case VLC_FOURCC('l','p','c','J'):            fmt.i_codec = VLC_FOURCC( '1','4','_','4' );        case VLC_FOURCC('1','4','_','4'):            fmt.audio.i_blockalign = 0x14 ;            break;        case VLC_FOURCC('2','8','_','8'):            fmt.i_extra = 0;            fmt.audio.i_blockalign = i_coded_frame_size;            break;        case VLC_FOURCC( 'd','n','e','t' ):            fmt.i_codec = VLC_FOURCC( 'a','5','2',' ' );            break;        case VLC_FOURCC( 'r','a','a','c' ):        case VLC_FOURCC( 'r','a','c','p' ):            fmt.i_codec = VLC_FOURCC( 'm','p','4','a' );            if( fmt.i_extra > 0 ) { fmt.i_extra--; p_peek++; }            if( fmt.i_extra > 0 )            {                fmt.p_extra = malloc( fmt.i_extra );                if( fmt.p_extra == NULL )                {                    msg_Err( p_demux, "Error in the extra data" );                    return VLC_EGENERIC;                }                memcpy( fmt.p_extra, p_peek, fmt.i_extra );            }            break;        case VLC_FOURCC('s','i','p','r'):            fmt.audio.i_flavor = i_flavor;        case VLC_FOURCC('c','o','o','k'):        case VLC_FOURCC('a','t','r','c'):            if( !memcmp( p_genr, "genr", 4 ) )                fmt.audio.i_blockalign = i_subpacket_size;            else                fmt.audio.i_blockalign = i_coded_frame_size;            if( fmt.i_extra > 0 )            {                fmt.p_extra = malloc( fmt.i_extra );                if( fmt.p_extra == NULL )                {                    msg_Err( p_demux, "Error in the extra data" );                    return VLC_EGENERIC;                }                memcpy( fmt.p_extra, p_peek, fmt.i_extra );            }            break;        case VLC_FOURCC('r','a','l','f'):            msg_Dbg( p_demux, "    - audio codec not supported=%4.4s",                     (char*)&fmt.i_codec );            break;        default:            msg_Dbg( p_demux, "    - unknown audio codec=%4.4s",                     (char*)&fmt.i_codec );            break;        }        if( fmt.i_codec != 0 )        {            msg_Dbg( p_demux, "        - extra data=%d", fmt.i_extra );            tk = malloc( sizeof( real_track_t ) );            tk->i_id = i_num;            tk->fmt = fmt;            tk->i_frame = 0;            tk->p_frame = NULL;            tk->i_subpacket_h = i_subpacket_h;            tk->i_subpacket_size = i_subpacket_size;            tk->i_coded_frame_size = i_coded_frame_size;            tk->i_frame_size = i_frame_size;            tk->i_out_subpacket = 0;            tk->i_subpacket = 0;            tk->i_subpackets = 0;            tk->p_subpackets = NULL;            tk->p_subpackets_timecode = NULL;            if( fmt.i_codec == VLC_FOURCC('c','o','o','k')             || fmt.i_codec == VLC_FOURCC('a','t','r','c') )            {                tk->i_subpackets =                    i_subpacket_h * i_frame_size / tk->i_subpacket_size;                tk->p_subpackets =                    calloc( tk->i_subpackets, sizeof(block_t *) );                tk->p_subpackets_timecode =                    calloc( tk->i_subpackets , sizeof( int64_t ) );            }            else if( fmt.i_codec == VLC_FOURCC('2','8','_','8') )            {                tk->i_subpackets =                    i_subpacket_h * i_frame_size / tk->i_coded_frame_size;                tk->p_subpackets =                    calloc( tk->i_subpackets, sizeof(block_t *) );                tk->p_subpackets_timecode =                    calloc( tk->i_subpackets , sizeof( int64_t ) );            }            /* Check if the calloc went correctly */            if( tk->p_subpackets == NULL )            {                tk->i_subpackets = 0;                msg_Err( p_demux, "Can't alloc subpacket" );                return VLC_EGENERIC;            }            tk->p_es = es_out_Add( p_demux->out, &fmt );            TAB_APPEND( p_sys->i_track, p_sys->track, tk );        }    }    return VLC_SUCCESS;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合久久给合久久狠狠狠97色| 五月天久久比比资源色| 欧美哺乳videos| 欧美影院一区二区| 99在线精品免费| 日韩av不卡在线观看| 亚洲影院在线观看| 中文字幕亚洲成人| 国产欧美一区二区精品性色超碰| 色婷婷综合久久久中文字幕| 国产91精品免费| 国产乱色国产精品免费视频| 免费观看在线综合色| 日韩精品一级中文字幕精品视频免费观看| 亚洲欧美激情视频在线观看一区二区三区 | 欧美日韩一区二区在线观看| 97久久精品人人爽人人爽蜜臀| 成人免费毛片a| www.视频一区| 国产suv精品一区二区三区| 偷窥国产亚洲免费视频| 天堂资源在线中文精品| 亚洲国产精品自拍| 天天综合色天天| 青青草国产成人av片免费| 日韩电影一区二区三区四区| 天天色 色综合| 美女性感视频久久| 精品亚洲国产成人av制服丝袜| 日韩高清在线观看| 蜜臀av亚洲一区中文字幕| 狠狠狠色丁香婷婷综合激情| 国产一区二区毛片| av亚洲精华国产精华| 91久久一区二区| 色狠狠色狠狠综合| 在线播放亚洲一区| 欧美成人猛片aaaaaaa| 久久中文娱乐网| 国产精品高潮呻吟| 一区二区三区在线免费播放| 亚洲激情图片一区| 麻豆专区一区二区三区四区五区| 五月天网站亚洲| 国产一区二区三区免费看| 666欧美在线视频| 久久这里都是精品| 成人免费视频在线观看| 亚洲成人一二三| 极品少妇xxxx精品少妇| 成人激情小说网站| 在线视频一区二区三区| 欧美另类变人与禽xxxxx| 日韩欧美国产综合一区| 国产精品久久久久7777按摩| 一区二区三区在线视频播放| 日本欧美一区二区三区| 国产伦精品一区二区三区在线观看| 99久久精品一区| 欧美高清一级片在线| 亚洲精品一区二区三区精华液 | 久久精品亚洲精品国产欧美| 国产精品福利一区二区| 午夜婷婷国产麻豆精品| 国产最新精品免费| 色爱区综合激月婷婷| 精品久久久久久久久久久久久久久久久| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 色婷婷综合久久久久中文一区二区| 欧美精品黑人性xxxx| 国产视频一区二区在线| 亚洲国产一二三| 国产xxx精品视频大全| 在线观看成人免费视频| 久久久久久夜精品精品免费| 一区二区激情小说| 国内精品免费**视频| 欧美亚洲动漫制服丝袜| 国产校园另类小说区| 日韩精品欧美精品| 一本色道久久加勒比精品 | 欧美片在线播放| 久久久综合精品| 综合av第一页| 精品影视av免费| 欧美美女一区二区在线观看| 久久免费的精品国产v∧| 午夜精品福利一区二区蜜股av | 国产亚洲欧洲一区高清在线观看| 亚洲免费电影在线| 丁香六月综合激情| 精品国产伦一区二区三区观看方式 | 亚洲一区二区在线免费看| 99riav久久精品riav| 中文字幕五月欧美| 99视频精品全部免费在线| 国产精品网站在线观看| 丁香天五香天堂综合| 亚洲高清久久久| 欧美日韩国产另类一区| 亚洲国产裸拍裸体视频在线观看乱了| 色欧美片视频在线观看| 夜夜嗨av一区二区三区四季av | 久久天天做天天爱综合色| 奇米888四色在线精品| 欧美一区二区三区免费视频| 首页国产欧美日韩丝袜| 91精品国产综合久久婷婷香蕉 | 91丨porny丨蝌蚪视频| 国产精品久久久爽爽爽麻豆色哟哟| 国产69精品久久777的优势| 中文字幕久久午夜不卡| 成人国产亚洲欧美成人综合网| 亚洲国产精品成人综合色在线婷婷| 国产精品亚洲专一区二区三区| 久久久国产精品午夜一区ai换脸| 国产福利一区二区| 亚洲欧洲色图综合| 色婷婷av一区| 性欧美疯狂xxxxbbbb| 日韩亚洲欧美综合| 国产在线播精品第三| 国产精品区一区二区三区| 91视频在线看| 日韩激情视频在线观看| 久久无码av三级| www.亚洲免费av| 夜色激情一区二区| 日韩欧美专区在线| 国产成人av影院| 日韩一区在线看| 欧美精三区欧美精三区| 韩国视频一区二区| 中文字幕色av一区二区三区| 欧美日韩的一区二区| 国内一区二区在线| 亚洲人成伊人成综合网小说| 欧美日韩国产影片| 国产一区二区三区av电影| 亚洲免费观看高清完整| 一区二区三区视频在线看| 欧美日韩不卡在线| 国产成人综合在线播放| 亚洲制服丝袜av| 久久毛片高清国产| 欧美性色黄大片| 国产一区欧美日韩| 亚洲一区视频在线观看视频| 久久众筹精品私拍模特| 在线观看视频一区二区| 韩国中文字幕2020精品| 亚洲精品国产第一综合99久久| 欧美电视剧在线看免费| 91色在线porny| 久久97超碰色| 亚洲女同ⅹxx女同tv| 欧美本精品男人aⅴ天堂| 91小宝寻花一区二区三区| 伦理电影国产精品| 一区二区免费在线播放| 欧美精品一区男女天堂| 91国偷自产一区二区使用方法| 久久99精品久久久久久动态图 | 99精品在线免费| 精品一区二区三区影院在线午夜| 亚洲欧美日韩国产中文在线| 欧美精品一区二区三区蜜桃| 欧美午夜精品免费| 成人在线视频一区| 狠狠色综合播放一区二区| 亚洲二区在线视频| 亚洲免费高清视频在线| 国产日韩在线不卡| 精品久久久久久久久久久久久久久 | 色婷婷综合久久| 粉嫩av一区二区三区| 免费av成人在线| 亚洲国产aⅴ天堂久久| 中文字幕一区二区三区不卡| 欧美精品一区二区三区高清aⅴ | 麻豆精品国产91久久久久久| 有码一区二区三区| 国产欧美一区二区精品性色 | **欧美大码日韩| 国产欧美视频一区二区三区| 欧美一区二区三区视频在线观看 | 91麻豆精品国产91久久久更新时间 | 亚洲精品网站在线观看| 久久久久亚洲蜜桃| 精品久久久久99| 91精品国产综合久久久久| 日本一二三四高清不卡| 精品久久久久99| 日韩精品中文字幕在线不卡尤物| 精品视频一区二区不卡| 欧美中文字幕一区| 91黄色激情网站| 91国在线观看| 欧美体内she精高潮| 欧美性xxxxxx少妇|