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

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

?? ffmpeg_audio.h

?? 彩信瀏覽器
?? H
字號:
/* * This file is part of Ambulant Player, www.ambulantplayer.org. * * Copyright (C) 2003-2007 Stichting CWI,  * Kruislaan 413, 1098 SJ Amsterdam, The Netherlands. * * Ambulant Player is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * Ambulant Player 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Ambulant Player; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */#ifndef AMBULANT_NET_FFMPEG_AUDIO_H#define AMBULANT_NET_FFMPEG_AUDIO_H//#include <vector>//#include <queue>//#include <sys/types.h>//#include <sys/stat.h>//#include <fcntl.h>#include "ambulant/config/config.h"//#include "ambulant/lib/callback.h"//#include "ambulant/lib/refcount.h"//#include "ambulant/lib/event_processor.h"//#include "ambulant/lib/mtsync.h"//#include "ambulant/lib/event_processor.h"//#include "ambulant/lib/unix/unix_thread.h"#include "ambulant/net/databuffer.h"//#include "ambulant/net/posix_datasource.h"#include "ambulant/net/datasource.h"#include "avcodec.h"#include "avformat.h"//#include "common.h"// temporary debug messages//#include <iostream>//#ifndef AMBULANT_NO_OSTREAM//#include <ostream>//#else /*AMBULANT_NO_OSTREAM *///#include <ostream.h>//#endif /*AMBULANT_NO_OSTREAM *///#include <cstring>//#include <sys/types.h>//#include <sys/stat.h>//#include <fcntl.h>//#include <unistd.h>//#include <map>#ifdef AMBULANT_PLATFORM_MACOS	#define AM_MAC_CONST const#else	#define AM_MAC_CONST#endifnamespace ambulant{namespace net{  	class ffmpeg_audio_datasource_factory : public audio_datasource_factory {  public:	~ffmpeg_audio_datasource_factory() {};	audio_datasource* new_audio_datasource(const net::url& url, const audio_format_choices& fmts, timestamp_t clip_begin, timestamp_t clip_end);};class ffmpeg_audio_decoder_finder : public audio_decoder_finder {  public:	~ffmpeg_audio_decoder_finder() {};	audio_datasource* new_audio_decoder(pkt_audio_datasource *src, const audio_format_choices& hint);};class ffmpeg_audio_filter_finder : public audio_filter_finder {  public:	~ffmpeg_audio_filter_finder() {};	audio_datasource* new_audio_filter(audio_datasource *src, const audio_format_choices& fmts);};class ffmpeg_decoder_datasource: virtual public audio_datasource, virtual public lib::ref_counted_obj {  public:	static bool supported(const audio_format& fmt);	static bool supported(const net::url& url);	ffmpeg_decoder_datasource(const net::url& url, pkt_audio_datasource *src);	ffmpeg_decoder_datasource(pkt_audio_datasource *src);	~ffmpeg_decoder_datasource();     		  	void start(lib::event_processor *evp, lib::event *callback);  	void stop();  	void readdone(int len);	void data_avail();	bool end_of_file();	bool buffer_full();	void read_ahead(timestamp_t clip_begin);	char* get_read_ptr();	int size() const;   	common::duration get_dur();	audio_format& get_audio_format();	timestamp_t get_clip_end();  	timestamp_t get_clip_begin();  	timestamp_t get_start_time() { return m_src->get_start_time(); };  protected:	bool _select_decoder(const char* file_ext);	bool _select_decoder(audio_format &fmt);	    private:	bool _clip_end() const;	bool _end_of_file();	void _need_fmt_uptodate();	AVCodecContext *m_con;	audio_format m_fmt;	lib::event_processor *m_event_processor;  	pkt_audio_datasource* m_src;  	timestamp_t m_elapsed;	bool m_is_audio_ds;		databuffer m_buffer;	bool m_blocked_full;			lib::event *m_client_callback;  // This is our calllback to the client	lib::critical_section m_lock; };class ffmpeg_resample_datasource: virtual public audio_datasource, virtual public lib::ref_counted_obj {  public:	ffmpeg_resample_datasource(audio_datasource *src, audio_format_choices fmts);	~ffmpeg_resample_datasource();    	void start(lib::event_processor *evp, lib::event *callback);  	void stop();  	void read_ahead(timestamp_t time) {};	void readdone(int len);	void data_avail();  	bool end_of_file();	bool buffer_full();			char* get_read_ptr();	int size() const;   	   //    void get_input_format(audio_context &fmt);  //    void get_output_format(audio_context &fmt);	audio_format& get_audio_format() { return m_out_fmt; };	common::duration get_dur();	timestamp_t get_clip_end();	timestamp_t get_clip_begin();	timestamp_t get_start_time() { return m_src->get_start_time(); }  protected:    int init();   		    private:    bool _end_of_file();	bool _src_end_of_file() const;      audio_datasource* m_src;    bool m_context_set;    ReSampleContext *m_resample_context;      databuffer m_buffer;  	    lib::event_processor *m_event_processor;    lib::event *m_client_callback;  // This is our calllback to the client    lib::critical_section m_lock;  	audio_format m_in_fmt;  	audio_format m_out_fmt; };}	// end namespace net}	// end namespace ambulant#endif // AMBULANT_NET_FFMPEG_AUDIO_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
18成人在线观看| 中文字幕一区二区在线播放 | 欧美影视一区二区三区| 成人久久视频在线观看| 国产91精品一区二区| 国产精品一线二线三线| 裸体一区二区三区| 精品亚洲成a人在线观看 | 久久国产免费看| 蜜臀av一区二区三区| 另类中文字幕网| 国产主播一区二区三区| 精品一区二区综合| 福利一区二区在线观看| 成人av网在线| 欧美吻胸吃奶大尺度电影 | 看电视剧不卡顿的网站| 免费成人你懂的| 国产成人亚洲精品狼色在线| 国产成人精品亚洲午夜麻豆| 99久久精品国产毛片| 波多野结衣欧美| 欧美日韩中文字幕一区| 日韩精品一区二区三区四区| 久久伊人蜜桃av一区二区| 欧美精品一区二区三区高清aⅴ | 亚洲高清免费视频| 日韩综合小视频| 国产专区综合网| www.欧美色图| 在线播放亚洲一区| 国产精品欧美综合在线| 亚洲综合一区二区精品导航| 日韩不卡免费视频| 国产激情一区二区三区| 欧美亚日韩国产aⅴ精品中极品| 日韩三级伦理片妻子的秘密按摩| 国产无一区二区| 亚洲第一av色| 国产麻豆欧美日韩一区| 色婷婷综合久久久中文字幕| 欧美一区二区黄| 中文字幕一区视频| 久久99在线观看| 欧美色图片你懂的| 欧美国产精品中文字幕| 天天操天天干天天综合网| 国产iv一区二区三区| 337p亚洲精品色噜噜| 国产精品丝袜黑色高跟| 麻豆高清免费国产一区| 欧美亚洲愉拍一区二区| 中文字幕乱码亚洲精品一区| 免费不卡在线观看| 欧美色网站导航| 亚洲欧美国产三级| 国产成人综合自拍| 精品国产免费一区二区三区四区 | 欧美国产精品一区二区| 美女尤物国产一区| 欧美区视频在线观看| 亚洲欧美在线aaa| 国产精品一区二区无线| 日韩午夜激情av| 天天爽夜夜爽夜夜爽精品视频| jlzzjlzz欧美大全| 欧美激情一区在线观看| 国产电影一区二区三区| 欧美xxxxx牲另类人与| 性做久久久久久久久| 精品视频999| 一区二区三区成人在线视频| 99久久久久久99| 国产精品视频麻豆| 丁香另类激情小说| 国产情人综合久久777777| 国产传媒久久文化传媒| 久久综合久久综合久久综合| 男人的天堂久久精品| 日韩一区二区三区视频在线 | 亚洲在线视频网站| 一本一道波多野结衣一区二区| 中文字幕一区二区日韩精品绯色| 国模大尺度一区二区三区| 久久综合五月天婷婷伊人| 久久er精品视频| 国产女主播一区| fc2成人免费人成在线观看播放| 亚洲国产精品成人综合| 懂色av一区二区三区蜜臀 | 视频在线观看一区二区三区| 欧美久久久久久久久中文字幕| 午夜电影一区二区三区| 日韩一区二区精品在线观看| 精品一区二区三区在线播放| 久久久久久久综合| 91丨九色丨黑人外教| 一片黄亚洲嫩模| 日韩一区二区三区免费观看| 国产成人免费9x9x人网站视频| 国产精品理论片| 欧美性受极品xxxx喷水| 久久国产三级精品| 国产精品午夜久久| 欧美人与性动xxxx| 国产成人在线视频网址| 亚洲主播在线观看| 精品国产91洋老外米糕| 91网上在线视频| 蜜桃精品视频在线| 国产精品久久久久久久久免费樱桃 | 成人精品国产免费网站| 五月婷婷另类国产| 国产色一区二区| 欧美日韩在线三级| 国产精品一二一区| 亚洲愉拍自拍另类高清精品| www亚洲一区| 欧美日韩你懂的| 成人黄色软件下载| 日本 国产 欧美色综合| 自拍偷拍亚洲激情| 欧美sm美女调教| 在线国产亚洲欧美| 国产成人8x视频一区二区| 亚洲成av人片一区二区三区| 亚洲国产经典视频| 欧美一区二区视频在线观看2022| av中文一区二区三区| 国内精品伊人久久久久av影院| 一区二区三区在线视频播放| 久久理论电影网| 91.com视频| 欧美中文字幕一区| 不卡视频在线看| 五月天欧美精品| 一区二区三区高清不卡| 国产精品萝li| 久久久亚洲午夜电影| 日韩视频在线观看一区二区| 欧美日韩精品二区第二页| 91网站最新地址| 99国产麻豆精品| 99久久免费精品| 不卡一区在线观看| 国产乱子伦一区二区三区国色天香| 亚洲一区二区免费视频| 亚洲精品精品亚洲| 中文字幕中文字幕在线一区| 欧美国产精品v| 欧美激情自拍偷拍| 国产目拍亚洲精品99久久精品| 亚洲精品一区二区在线观看| 欧美一级日韩免费不卡| 6080国产精品一区二区| 欧美视频三区在线播放| 欧美午夜片在线看| 欧美在线影院一区二区| 欧美视频自拍偷拍| 欧美性一级生活| 欧美一区二区三区系列电影| 欧美电影影音先锋| 日韩精品一区二区三区视频在线观看| 日韩一卡二卡三卡| 欧美成人精品二区三区99精品| 欧美一区二区二区| 2020日本不卡一区二区视频| 国产女人水真多18毛片18精品视频 | 亚洲观看高清完整版在线观看| 亚洲成人免费在线观看| 三级一区在线视频先锋 | 精品夜夜嗨av一区二区三区| 国产资源精品在线观看| 国产成人精品免费看| eeuss影院一区二区三区 | 国产高清亚洲一区| 成人一区二区视频| 在线一区二区三区四区| 欧美精品欧美精品系列| 久久久久九九视频| 亚洲色图欧美激情| 日本成人在线电影网| 国产成人亚洲精品青草天美| 一本到不卡免费一区二区| 91麻豆精品久久久久蜜臀| 亚洲精品一线二线三线| 亚洲精品第一国产综合野| 奇米影视一区二区三区小说| 成人涩涩免费视频| 欧美日韩一卡二卡三卡| 久久久久久久久免费| 一区二区三区中文字幕电影| 久久国产精品露脸对白| 99久久er热在这里只有精品66| 7777精品伊人久久久大香线蕉超级流畅| 日韩欧美另类在线| 一区二区三区蜜桃| 懂色av一区二区在线播放| 7777精品伊人久久久大香线蕉完整版 | 国产欧美一二三区|