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

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

?? pls.c

?? VLC媒體播放程序
?? C
字號:
/***************************************************************************** * pls.c : PLS playlist format import ***************************************************************************** * Copyright (C) 2004 VideoLAN * $Id: pls.c,v 1.2 2004/01/25 20:05:29 hartman Exp $ * * Authors: Cl閙ent Stenac <zorglub@videolan.org> * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA. *****************************************************************************//***************************************************************************** * Preamble *****************************************************************************/#include <stdlib.h>                                      /* malloc(), free() */#include <vlc/vlc.h>#include <vlc/intf.h>#include <errno.h>                                                 /* ENOMEM */#include "playlist.h"struct demux_sys_t{    char *psz_prefix;};/***************************************************************************** * Local prototypes *****************************************************************************/static int Demux( demux_t *p_demux);static int Control( demux_t *p_demux, int i_query, va_list args );/***************************************************************************** * Import_PLS: main import function *****************************************************************************/int Import_PLS( vlc_object_t *p_this ){    demux_t *p_demux = (demux_t *)p_this;    uint8_t *p_peek;    char    *psz_ext;    if( stream_Peek( p_demux->s , &p_peek, 7 ) < 7 )    {        msg_Err( p_demux, "cannot peek" );        return VLC_EGENERIC;    }    psz_ext = strrchr ( p_demux->psz_path, '.' );    if( !strncasecmp( p_peek, "[playlist]", 10 ) )    {        ;    }    else if( ( psz_ext && !strcasecmp( psz_ext, ".pls") ) ||             ( p_demux->psz_demux && !strcmp(p_demux->psz_demux, "pls") ) )    {        ;    }    else    {        msg_Warn(p_demux, "pls import module discarded");        return VLC_EGENERIC;            }    msg_Dbg( p_demux, "found valid PLS playlist file");    p_demux->pf_control = Control;    p_demux->pf_demux = Demux;    p_demux->p_sys = malloc( sizeof(demux_sys_t) );    if( p_demux->p_sys == NULL )    {        msg_Err( p_demux, "Out of memory" );        return VLC_ENOMEM;    }    p_demux->p_sys->psz_prefix = FindPrefix( p_demux );    return VLC_SUCCESS;}/***************************************************************************** * Deactivate: frees unused data *****************************************************************************/void Close_PLS( vlc_object_t *p_this ){    demux_t *p_demux = (demux_t *)p_this;    if( p_demux->p_sys->psz_prefix )    {        free( p_demux->p_sys->psz_prefix );    }    free( p_demux->p_sys );}static int Demux( demux_t *p_demux ){    mtime_t        i_duration = -1;    char          *psz_name = NULL;        char          *psz_line;    char          *psz_mrl = NULL;    char          *psz_key;    char          *psz_value;    playlist_t    *p_playlist;    int            i_position;    int            i_item = -1;    int            i_new_item = 0;    int            i_key_length;    p_playlist = (playlist_t *) vlc_object_find( p_demux, VLC_OBJECT_PLAYLIST,                                                 FIND_PARENT );    if( !p_playlist )    {        msg_Err( p_demux, "can't find playlist" );        return -1;    }    p_playlist->pp_items[p_playlist->i_index]->b_autodeletion = VLC_TRUE;    i_position = p_playlist->i_index + 1;    while( ( psz_line = stream_ReadLine( p_demux->s ) ) )    {        if( !strncasecmp( psz_line, "[playlist]", sizeof("[playlist]")-1 ) )        {            free( psz_line );            continue;        }        psz_key = psz_line;        psz_value = strchr( psz_line, '=' );        if( psz_value )        {            *psz_value='\0';            psz_value++;        }        else        {            msg_Warn( p_demux, "invalid line in pls file" );            free( psz_line );            continue;        }        if( !strcasecmp( psz_key, "version" ) )        {            msg_Dbg( p_demux, "pls file version: %s", psz_value );            free( psz_line );            continue;        }        /* find the number part of of file1, title1 or length1 etc */        i_key_length = strlen( psz_key );        if( i_key_length >= 5 ) /* file1 type case */        {            i_new_item = atoi( psz_key + 4 );            if( i_new_item == 0 && i_key_length >= 6 ) /* title1 type case */            {                i_new_item = atoi( psz_key + 5 );                if( i_new_item == 0 && i_key_length >= 7 ) /* length1 type case */                {                    i_new_item = atoi( psz_key + 6 );                }            }        }        if( i_new_item == 0 )        {            msg_Warn( p_demux, "couldn't find number of items" );            free( psz_line );            continue;        }        if( i_item == -1 )        {            i_item = i_new_item;        }        /* we found a new item, insert the previous */        if( i_item != i_new_item )        {            if( psz_mrl )            {                playlist_Add( p_playlist, psz_mrl, psz_name,                              PLAYLIST_INSERT, i_position );                if( i_duration != -1 )                {                    playlist_SetDuration( p_playlist, i_position, i_duration );                }                i_position++;                free( psz_mrl );                psz_mrl = NULL;            }            else            {                msg_Warn( p_demux, "no file= part found for item %d", i_item );            }            if( psz_name )            {                free( psz_name );                psz_name = NULL;            }            i_duration = -1;            i_item = i_new_item;            i_new_item = 0;        }        if( !strncasecmp( psz_key, "file", sizeof("file") -1 ) )        {            psz_mrl = ProcessMRL( psz_value, p_demux->p_sys->psz_prefix );        }        else if( !strncasecmp( psz_key, "title", sizeof("title") -1 ) )        {            psz_name = strdup( psz_value );        }        else if( !strncasecmp( psz_key, "length", sizeof("length") -1 ) )        {            i_duration = atoi( psz_value );            if( i_duration != -1 )            {                i_duration *= 1000000;            }        }        else        {            msg_Warn( p_demux, "unknown key found in pls file: %s", psz_key );        }        free( psz_line );    }    /* Add last object */    if( psz_mrl )    {        playlist_Add( p_playlist, psz_mrl, psz_name,                      PLAYLIST_INSERT, i_position );        if( i_duration != -1 )        {                    playlist_SetDuration( p_playlist, i_position, i_duration );        }        i_position++;        free( psz_mrl );        psz_mrl = NULL;    }    else    {        msg_Warn( p_demux, "no file= part found for item %d", i_item );    }    if( psz_name )    {        free( psz_name );        psz_name = NULL;    }    vlc_object_release( p_playlist );    return VLC_SUCCESS;}static int Control( demux_t *p_demux, int i_query, va_list args ){    return VLC_EGENERIC;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久久久| 欧美午夜精品一区二区蜜桃| 欧美视频一区二区三区在线观看| 国产午夜精品一区二区三区嫩草| 五月婷婷另类国产| 亚洲人成网站在线| 一区二区三区日韩精品视频| 99久久婷婷国产综合精品| 久久久www成人免费毛片麻豆| 午夜成人在线视频| 欧美日韩午夜精品| 午夜亚洲福利老司机| 成人黄页在线观看| 亚洲欧洲精品一区二区三区| 风间由美一区二区三区在线观看| 久久精品人人做人人综合| 国产成人免费视频网站高清观看视频| 久久人人97超碰com| 国产成人av一区二区| 欧美国产欧美综合| 99久久综合色| 一区二区三区四区乱视频| 欧美丝袜丝交足nylons| 偷窥少妇高潮呻吟av久久免费| 91国偷自产一区二区开放时间| 亚洲一级二级三级在线免费观看| 日本精品免费观看高清观看| 亚洲最色的网站| 欧美精品一卡二卡| 九九热在线视频观看这里只有精品| 欧美精品一区二区三区一线天视频| 国内成人自拍视频| 国产精品久久免费看| 一本一本久久a久久精品综合麻豆| 亚洲欧美色一区| 91在线观看免费视频| 亚洲永久免费视频| 日韩欧美一区二区免费| 狠狠色综合色综合网络| 成人欧美一区二区三区白人 | 日韩av在线播放中文字幕| 欧美日韩高清一区二区不卡| 毛片一区二区三区| 国产精品美女久久久久久久| 欧美色图一区二区三区| 亚洲精品国久久99热| 欧美日韩一区二区三区四区五区| 丝袜亚洲另类欧美综合| 国产亚洲成aⅴ人片在线观看| 99精品一区二区三区| 午夜天堂影视香蕉久久| 久久精品人人做| 欧美日韩综合在线| 国产成人精品免费视频网站| 亚洲综合图片区| 久久久电影一区二区三区| 在线观看日韩毛片| 国产成人午夜视频| 日日夜夜免费精品视频| 国产精品视频第一区| 欧美丰满少妇xxxxx高潮对白| 国产一区在线观看视频| 亚洲一区二区三区不卡国产欧美| 欧美精品一区二区三区视频| 色视频欧美一区二区三区| 精品一区二区国语对白| 亚洲精品国产第一综合99久久| 欧美第一区第二区| 欧美三级三级三级| a4yy欧美一区二区三区| 韩国精品在线观看| 日本中文字幕一区二区视频| 亚洲色欲色欲www| 久久精品欧美一区二区三区不卡| 欧美夫妻性生活| 成人免费毛片高清视频| 香蕉影视欧美成人| 亚洲欧美一区二区三区久本道91 | 亚洲综合色丁香婷婷六月图片| 久久九九久精品国产免费直播| 91精品国产一区二区人妖| 在线欧美日韩国产| 播五月开心婷婷综合| 国产一区二区三区日韩| 美女一区二区视频| 日韩高清国产一区在线| 亚洲国产视频一区二区| 亚洲天堂网中文字| 综合色中文字幕| 成人欧美一区二区三区黑人麻豆| 国产色一区二区| 国产亚洲污的网站| 久久久久久久久久久久电影| 日韩精品一区二区在线| 日韩欧美视频在线| 5月丁香婷婷综合| 欧美一区二区三区免费大片| 欧美日韩和欧美的一区二区| 欧美三级电影网| 欧美三级电影精品| 欧美三级韩国三级日本三斤| 欧美探花视频资源| 欧美理论电影在线| 91精品国产免费| 日韩欧美色综合网站| 精品第一国产综合精品aⅴ| 日韩视频在线你懂得| 欧美大胆人体bbbb| 久久久久久97三级| 国产拍欧美日韩视频二区| 国产亚洲欧美激情| 国产精品福利一区二区| 中文字幕永久在线不卡| 亚洲激情在线激情| 亚洲成av人片观看| 精品一区二区三区在线观看| 国产一区不卡在线| 成人av网站在线观看| 成人短视频下载| 成人性色生活片免费看爆迷你毛片| 麻豆91在线播放| 国产在线精品一区二区夜色| 成人午夜av影视| 成人免费视频免费观看| 成人美女视频在线看| aaa欧美色吧激情视频| 欧美日韩精品免费观看视频| 日韩精品中文字幕一区| 国产精品麻豆欧美日韩ww| 亚洲一区中文日韩| 国产一级精品在线| 色系网站成人免费| 精品福利在线导航| 亚洲婷婷综合久久一本伊一区| 亚洲成人一区在线| 国产91丝袜在线18| 99精品久久久久久| 91精品国产91综合久久蜜臀| 国产日韩欧美综合在线| 亚洲综合免费观看高清完整版在线 | 久久久美女艺术照精彩视频福利播放| 国产精品美女久久久久久| 亚洲一区二区三区四区在线观看| 亚洲国产aⅴ成人精品无吗| 久久99最新地址| 国产91清纯白嫩初高中在线观看 | 免费成人av资源网| av网站一区二区三区| 欧美一区二区三区在| 中文字幕中文字幕中文字幕亚洲无线 | 麻豆成人久久精品二区三区小说| 成人av动漫在线| 日韩三级高清在线| 亚洲欧美另类小说视频| 久久成人久久爱| 欧美人牲a欧美精品| 国产精品亲子乱子伦xxxx裸| 免费观看在线色综合| 色成人在线视频| 久久九九国产精品| 蜜桃av一区二区| 欧美三级韩国三级日本三斤| 中文字幕在线视频一区| 裸体歌舞表演一区二区| 欧美自拍偷拍午夜视频| 国产精品免费久久| 久久97超碰色| 91精品国产综合久久香蕉的特点| 亚洲柠檬福利资源导航| 国产成人精品午夜视频免费| 精品久久人人做人人爽| 丝袜诱惑制服诱惑色一区在线观看| 床上的激情91.| 26uuu精品一区二区| 日本午夜一区二区| 欧美日韩成人综合| 亚洲午夜久久久久久久久久久 | 一区二区三区产品免费精品久久75| 大尺度一区二区| 国产欧美一区二区三区在线老狼| 卡一卡二国产精品| 日韩美女天天操| 另类的小说在线视频另类成人小视频在线| 在线观看视频一区二区欧美日韩| 国产精品国产馆在线真实露脸| 成人激情文学综合网| 国产精品天干天干在线综合| 国产99久久久国产精品免费看| 久久精品在线观看| 免费成人结看片| 欧美精品一区二区三区很污很色的| 蜜桃精品在线观看| 欧美成人女星排名| 韩国理伦片一区二区三区在线播放 | 国产片一区二区| 99这里只有久久精品视频| 国产精品不卡一区| 91精品办公室少妇高潮对白| 一区二区三区在线免费| 欧美日本一区二区|