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

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

?? file.c

?? video linux conference
?? C
字號:
/***************************************************************************** * file.c ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN * $Id: file.c 10953 2005-05-10 11:39:32Z courmisch $ * * Authors: Laurent Aimar <fenrir@via.ecp.fr> *          Eric Petit <titer@videolan.org> * * 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>#include <sys/types.h>#include <sys/stat.h>#include <string.h>#include <fcntl.h>#include <errno.h>#include <vlc/vlc.h>#include <vlc/sout.h>#ifdef HAVE_UNISTD_H#   include <unistd.h>#elif defined( WIN32 ) && !defined( UNDER_CE )#   include <io.h>#endif/* For those platforms that don't use these */#ifndef S_IRGRP#   define S_IRGRP 0#endif#ifndef S_IROTH#   define S_IROTH 0#endif#ifndef STDOUT_FILENO#   define STDOUT_FILENO 1#endif#ifndef O_LARGEFILE#   define O_LARGEFILE 0#endif/***************************************************************************** * Module descriptor *****************************************************************************/static int  Open ( vlc_object_t * );static void Close( vlc_object_t * );#define SOUT_CFG_PREFIX "sout-file-"#define APPEND_TEXT N_("Append to file")#define APPEND_LONGTEXT N_( "Append to file if it exists instead " \                            "of replacing it.")vlc_module_begin();    set_description( _("File stream output") );    set_shortname( N_("File" ));    set_capability( "sout access", 50 );    set_category( CAT_SOUT );    set_subcategory( SUBCAT_SOUT_ACO );    add_shortcut( "file" );    add_shortcut( "stream" );    add_bool( SOUT_CFG_PREFIX "append", 0, NULL, APPEND_TEXT,APPEND_LONGTEXT,              VLC_TRUE );    set_callbacks( Open, Close );vlc_module_end();/***************************************************************************** * Exported prototypes *****************************************************************************/static const char *ppsz_sout_options[] = {    "append", NULL};static int Write( sout_access_out_t *, block_t * );static int Seek ( sout_access_out_t *, off_t  );static int Read ( sout_access_out_t *, block_t * );struct sout_access_out_sys_t{    int i_handle;};/***************************************************************************** * Open: open the file *****************************************************************************/static int Open( vlc_object_t *p_this ){    sout_access_out_t   *p_access = (sout_access_out_t*)p_this;    int                 i_flags;    vlc_value_t         val;    sout_CfgParse( p_access, SOUT_CFG_PREFIX, ppsz_sout_options, p_access->p_cfg );    if( !( p_access->p_sys = malloc( sizeof( sout_access_out_sys_t ) ) ) )    {        msg_Err( p_access, "out of memory" );        return( VLC_EGENERIC );    }    if( !p_access->psz_name )    {        msg_Err( p_access, "no file name specified" );        return VLC_EGENERIC;    }    i_flags = O_RDWR|O_CREAT|O_LARGEFILE;    var_Get( p_access, SOUT_CFG_PREFIX "append", &val );    if( val.b_bool )    {        i_flags |= O_APPEND;    }    else    {        i_flags |= O_TRUNC;    }    if( !strcmp( p_access->psz_name, "-" ) )    {        p_access->p_sys->i_handle = STDOUT_FILENO;        msg_Dbg( p_access, "using stdout" );    }    else if( ( p_access->p_sys->i_handle =               open( p_access->psz_name, i_flags,                     S_IWRITE | S_IREAD | S_IRGRP | S_IROTH ) ) == -1 )    {        msg_Err( p_access, "cannot open `%s'", p_access->psz_name );        free( p_access->p_sys );        return( VLC_EGENERIC );    }    p_access->pf_write = Write;    p_access->pf_read  = Read;    p_access->pf_seek  = Seek;    msg_Dbg( p_access, "file access output opened (`%s')", p_access->psz_name );    /* Update pace control flag */    if( p_access->psz_access && !strcmp( p_access->psz_access, "stream" ) )        p_access->p_sout->i_out_pace_nocontrol++;    return VLC_SUCCESS;}/***************************************************************************** * Close: close the target *****************************************************************************/static void Close( vlc_object_t * p_this ){    sout_access_out_t *p_access = (sout_access_out_t*)p_this;    if( strcmp( p_access->psz_name, "-" ) )    {        if( p_access->p_sys->i_handle )        {            close( p_access->p_sys->i_handle );        }    }    free( p_access->p_sys );    /* Update pace control flag */    if( p_access->psz_access && !strcmp( p_access->psz_access, "stream" ) )        p_access->p_sout->i_out_pace_nocontrol--;    msg_Dbg( p_access, "file access output closed" );}/***************************************************************************** * Read: standard read on a file descriptor. *****************************************************************************/static int Read( sout_access_out_t *p_access, block_t *p_buffer ){    if( strcmp( p_access->psz_name, "-" ) )    {        return read( p_access->p_sys->i_handle, p_buffer->p_buffer,                     p_buffer->i_buffer );    }    msg_Err( p_access, "cannot read while using stdout" );    return VLC_EGENERIC;}/***************************************************************************** * Write: standard write on a file descriptor. *****************************************************************************/static int Write( sout_access_out_t *p_access, block_t *p_buffer ){    size_t i_write = 0;    while( p_buffer )    {        block_t *p_next = p_buffer->p_next;;        i_write += write( p_access->p_sys->i_handle,                          p_buffer->p_buffer, p_buffer->i_buffer );        block_Release( p_buffer );        p_buffer = p_next;    }    return i_write;}/***************************************************************************** * Seek: seek to a specific location in a file *****************************************************************************/static int Seek( sout_access_out_t *p_access, off_t i_pos ){    if( strcmp( p_access->psz_name, "-" ) )    {#if defined( WIN32 ) && !defined( UNDER_CE )        return( _lseeki64( p_access->p_sys->i_handle, i_pos, SEEK_SET ) );#else        return( lseek( p_access->p_sys->i_handle, i_pos, SEEK_SET ) );#endif    }    else    {        msg_Err( p_access, "cannot seek while using stdout" );        return VLC_EGENERIC;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成人悠悠色影视| 欧美成人性战久久| 国产精品一区免费视频| 三级欧美韩日大片在线看| 亚洲精品ww久久久久久p站| 国产精品初高中害羞小美女文| 欧美大片一区二区| 日韩精品一区二区三区在线 | 欧美精品一区二区三区一线天视频| 在线观看视频91| 91久久精品午夜一区二区| 91在线看国产| 91视视频在线观看入口直接观看www| 成人深夜视频在线观看| 成人高清伦理免费影院在线观看| 成人h动漫精品一区二区| 国产成人av一区二区三区在线观看| 国产成人啪午夜精品网站男同| 国产做a爰片久久毛片 | 中文字幕久久午夜不卡| 久久久影院官网| 国产精品私人影院| 中文字幕综合网| 一区二区三区欧美日| 日韩不卡一二三区| 经典三级视频一区| 成人激情免费电影网址| 91老司机福利 在线| 宅男噜噜噜66一区二区66| 欧美不卡在线视频| 亚洲欧洲日产国产综合网| 一个色妞综合视频在线观看| 三级影片在线观看欧美日韩一区二区 | 日韩国产一区二| 极品少妇xxxx偷拍精品少妇| 成人aa视频在线观看| 欧美日韩亚洲综合| 精品久久国产老人久久综合| 中文字幕亚洲电影| 丝袜美腿亚洲一区| 国产成人精品1024| 91麻豆精品国产综合久久久久久| 26uuu亚洲| 国产精品伦理一区二区| 日韩精品一级中文字幕精品视频免费观看 | 97se亚洲国产综合在线| 3atv在线一区二区三区| 国产精品美女久久久久久久 | 日韩精品中文字幕一区二区三区| 国产欧美日韩视频在线观看| 亚洲成a人片在线不卡一二三区| 精品一区二区在线视频| 91久久国产最好的精华液| 精品1区2区在线观看| 伊人色综合久久天天人手人婷| 精品一区二区三区影院在线午夜 | 欧美日韩国产综合一区二区三区| 久久在线免费观看| 亚洲成人动漫在线免费观看| 国产成人自拍网| 日韩三级在线免费观看| 亚洲线精品一区二区三区八戒| 国产1区2区3区精品美女| 欧美一级午夜免费电影| 亚洲午夜免费电影| 91在线你懂得| 国产精品传媒视频| 成人av手机在线观看| 久久久精品日韩欧美| 蜜臂av日日欢夜夜爽一区| 欧美日韩综合色| 一区二区三区不卡视频在线观看 | 亚洲精品视频在线看| 丰满放荡岳乱妇91ww| 2020国产成人综合网| 久久99精品国产麻豆婷婷洗澡| 欧美疯狂做受xxxx富婆| 一区二区三区久久| 欧美亚洲动漫精品| 亚洲一区自拍偷拍| 欧美午夜片在线观看| 亚洲一区二区三区不卡国产欧美 | 亚洲国产视频一区| 欧洲精品在线观看| 亚洲第一会所有码转帖| 欧美亚洲国产一卡| 日韩福利视频网| 日韩三级视频在线观看| 麻豆传媒一区二区三区| 精品国产乱码久久久久久图片 | 国产成人免费视频一区| 国产三区在线成人av| 成人精品一区二区三区中文字幕| 久久免费电影网| 丁香一区二区三区| 综合久久国产九一剧情麻豆| 91精品福利在线| 日韩黄色小视频| 欧美第一区第二区| 国产高清一区日本| 亚洲素人一区二区| 欧美精品三级在线观看| 美女视频免费一区| 欧美国产日本视频| 日本乱人伦aⅴ精品| 午夜精品福利视频网站| 精品va天堂亚洲国产| 99精品欧美一区| 三级不卡在线观看| 久久久噜噜噜久噜久久综合| 99免费精品在线观看| 午夜视黄欧洲亚洲| 久久综合狠狠综合久久综合88| www.亚洲在线| 亚洲超碰精品一区二区| 久久天天做天天爱综合色| 91亚洲精品一区二区乱码| 肉丝袜脚交视频一区二区| 中文字幕欧美激情| 欧美一级一区二区| 色哟哟国产精品免费观看| 麻豆成人91精品二区三区| 日韩一区欧美小说| 日韩亚洲欧美成人一区| 97精品久久久午夜一区二区三区 | gogogo免费视频观看亚洲一| 亚洲www啪成人一区二区麻豆| 久久久蜜桃精品| 国产成人av电影在线| 亚洲一区二区三区美女| 91视频国产资源| 日本亚洲一区二区| 亚洲一区二区三区不卡国产欧美| 欧美不卡一区二区三区四区| 国产老肥熟一区二区三区| 亚洲第一主播视频| √…a在线天堂一区| 久久97超碰色| 亚洲国产日韩综合久久精品| 国产欧美日韩另类视频免费观看| 欧美艳星brazzers| 不卡的av电影在线观看| 国产尤物一区二区| 奇米色一区二区三区四区| 亚洲精品成人精品456| 国产精品欧美一级免费| www激情久久| 91精品国产一区二区三区| 欧美亚洲丝袜传媒另类| 91极品视觉盛宴| 91网站在线播放| 欧美精品视频www在线观看| 成人污污视频在线观看| 欧美精品第一页| 亚洲啪啪综合av一区二区三区| 精品国产一区二区三区忘忧草 | 老司机免费视频一区二区 | 91精品国产aⅴ一区二区| 在线观看免费一区| 91福利国产成人精品照片| 91亚洲永久精品| 色综合天天狠狠| 91麻豆国产在线观看| 91麻豆蜜桃一区二区三区| 99久久99久久精品国产片果冻| av在线不卡电影| 99久久精品国产精品久久| 色综合久久久久综合99| 欧美最新大片在线看| 日本精品裸体写真集在线观看| 欧美性做爰猛烈叫床潮| 欧美伊人久久久久久久久影院| 麻豆国产精品777777在线| 亚洲一区二区三区在线| 亚洲午夜久久久久中文字幕久| 亚洲韩国一区二区三区| 视频一区二区欧美| 精品在线观看免费| 99麻豆久久久国产精品免费优播| 99国产精品久久久久久久久久久| www.日韩大片| 欧美日韩在线播| 欧美电视剧在线看免费| 国产精品美女久久久久久久 | 成人国产精品免费观看视频| av中文字幕亚洲| 在线观看免费成人| 日韩美女一区二区三区| 久久久久国产精品麻豆ai换脸 | 成人丝袜18视频在线观看| 精品1区2区在线观看| 国产精品国产三级国产aⅴ原创| 欧洲一区在线观看| 精品久久久久久久一区二区蜜臀| 国产农村妇女精品| 亚洲va韩国va欧美va精品| 国产一区在线不卡| 在线精品视频一区二区三四| 久久婷婷久久一区二区三区| 一区二区三区影院|