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

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

?? flv.c

?? Ming is a library for generating Macromedia Flash files (.swf), written in C, and includes useful ut
?? C
字號:
/*   Ming, an SWF output library   Copyright (C) 2002  Opaque Industries - http://www.opaque.net/      2.2.2007 Klaus Rechert      This library 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.   This library 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 this library; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <stdio.h>#include <stdlib.h>#include "input.h"#include "libming.h"#include "error.h"#include "flv.h"static inline int readAudioHdr(FLVStream *flv, FLVTag *tag){	int ichar;	ichar = SWFInput_getChar(flv->input);	if(ichar == EOF)		return -1;	tag->hdr.audio.format = (0xf0 & ichar);	tag->hdr.audio.samplingRate = (0xc & ichar);	tag->hdr.audio.sampleSize = (0x2 & ichar);	tag->hdr.audio.channel = 0x1 & ichar;	return 0;}static inline int readVideoHdr(FLVStream *flv, FLVTag *tag){	int ichar;	ichar = SWFInput_getChar(flv->input);	if(ichar == EOF)		return -1;		tag->hdr.video.frameType = (0xf0 & ichar);	tag->hdr.video.codec = 0x0f & ichar;	return 0;}long FLVStream_skipTagData(FLVStream *flv, FLVTag *tag){	if(flv == NULL || tag == NULL)		return -1;			SWFInput_seek(flv->input, tag->data + tag->dataSize + 4, SEEK_SET);		return SWFInput_tell(flv->input);}void destroyFLVStream(FLVStream *flv){	free(flv);}FLVStream *FLVStream_fromInput(SWFInput input){	int ichar;	unsigned long ulchar;	FLVStream *flv;		if(!input)		return NULL;	ichar = SWFInput_getChar(input);	if(ichar == EOF || ichar != 'F')		return NULL;		ichar = SWFInput_getChar(input);	if(ichar == EOF || ichar != 'L')		return NULL;		ichar = SWFInput_getChar(input);	if(ichar == EOF || ichar != 'V')		return NULL;	flv = (FLVStream *)malloc(sizeof(FLVStream));	if(flv == NULL)		return  NULL;	flv->input = input;		ichar = SWFInput_getChar(input);	if(ichar != EOF)		flv->version = ichar;		flv->has_video = 0;	flv->has_audio = 0;	ichar = SWFInput_getChar(input);	if(ichar != EOF)	{		if(ichar & FLV_AUDIO_PRESENT)			flv->has_audio = 1;		if(ichar & FLV_VIDEO_PRESENT)			flv->has_video = 1;	}	ulchar = SWFInput_getUInt32_BE(input);	flv->offset = ulchar + 4;	flv->stream_start = flv->offset;	return flv;}void FLVStream_rewind(FLVStream *flv){	SWFInput_seek(flv->input, flv->offset, SEEK_SET);}int FLVStream_nextTag(FLVStream *flv, FLVTag *tag, FLVTag *prev) {	int ichar;	unsigned long ulchar;		if(prev == NULL)		SWFInput_seek(flv->input, flv->offset, SEEK_SET);	else	{		unsigned long off;		if(prev->data < 0)			return -1;				off = prev->data + prev->dataSize + 4;		SWFInput_seek(flv->input, off, SEEK_SET);	}		tag->offset = SWFInput_tell(flv->input);	tag->stream = flv;	ichar = SWFInput_getChar(flv->input);	if(ichar == EOF)		return -1;	if(ichar != FLV_VIDEOTAG && ichar != FLV_AUDIOTAG && ichar != FLV_SCRIPTTAG)	{		SWF_warn("FLV: stream out of sync!\n");		return -1;	}	tag->tagType = ichar;		ulchar = SWFInput_getUInt24_BE(flv->input);	tag->dataSize = ulchar;	ulchar = SWFInput_getUInt24_BE(flv->input);	tag->timeStamp = ulchar;	ulchar = SWFInput_getUInt32_BE(flv->input);	if(ulchar)	{		SWF_warn("FLV: stream out of sync!\n");		return -1;	}	tag->data = SWFInput_tell(flv->input);	if(tag->tagType == FLV_VIDEOTAG)		readVideoHdr(flv, tag);	else if(tag->tagType == FLV_AUDIOTAG)		readAudioHdr(flv, tag);		return 0;}int FLVStream_nextTagType(FLVStream *flv, FLVTag *tag, FLVTag *prev, int type){		while(FLVStream_nextTag(flv, tag, prev) == 0)	{		if(tag->tagType == type) 			return 0;		prev = tag;	}	return -1;}unsigned int FLVStream_getDuration(FLVStream *flv, int type){	unsigned int duration = 0;	FLVTag tag, *p_tag = NULL;		while(FLVStream_nextTag(flv, &tag, p_tag) == 0) 	{		if(tag.tagType == type)		{			/* optimistic approach */			duration = tag.timeStamp; 		}		p_tag = &tag;	}	return duration;}int FLVStream_getNumFrames(FLVStream *flv, int type){	int numFrames = 0;	FLVTag tag, *p_tag = NULL;		while(FLVStream_nextTag(flv, &tag, p_tag) == 0) 	{		if(tag.tagType == type)			numFrames++;		p_tag = &tag;	}	return numFrames;}SWFInput FLVTag_getPayloadInput(FLVTag *tag){	int length;	SWFInput input;	if(tag == NULL || tag->stream == NULL)		return NULL;		input = tag->stream->input;	/* screen video needs this extra byte undocumented! */	if(tag->tagType == FLV_VIDEOTAG 		&& tag->hdr.video.codec == VIDEO_CODEC_SCREEN)	{		length = tag->dataSize;		SWFInput_seek(input, tag->data, SEEK_SET);	}	else if(tag->tagType == FLV_VIDEOTAG                && tag->hdr.video.codec == VIDEO_CODEC_VP6)	{		length = tag->dataSize - 2;		SWFInput_seek(input, tag->data + 2, SEEK_SET);	}	else /* skip flv-audio/video-data byte */	{		length = tag->dataSize - 1;		SWFInput_seek(input, tag->data + 1, SEEK_SET);	}	return newSWFInput_input(input, length);}int FLVStream_setStreamOffset(FLVStream *flv, unsigned int msecs){	FLVTag tag, *p_tag = NULL;		/* reset stream offset */	flv->offset = flv->stream_start;			while(FLVStream_nextTag(flv, &tag, p_tag) == 0) 	{		if(tag.timeStamp >= msecs)		{			flv->offset = tag.offset;			return 0;		}		p_tag = &tag;	}	return -1;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
972aa.com艺术欧美| 午夜激情久久久| 欧美大片免费久久精品三p| 欧美日韩国产一二三| 日本久久一区二区| 91福利国产成人精品照片| 99久久99久久久精品齐齐| 国产成a人亚洲精品| 国产精品1区2区3区| 国产精品影音先锋| 国产成人精品在线看| 国产精品18久久久久久久久久久久 | 欧美成人免费网站| 91精品国产入口在线| 欧美一区二区三区不卡| 精品国产一二三| 国产午夜三级一区二区三| 欧美国产激情一区二区三区蜜月| 欧美国产精品一区二区三区| 亚洲欧美韩国综合色| 亚洲国产裸拍裸体视频在线观看乱了| 午夜久久久影院| 日韩电影免费在线观看网站| 麻豆成人av在线| 懂色中文一区二区在线播放| 色综合久久综合网97色综合| 3d动漫精品啪啪| 国产视频911| 亚洲综合在线免费观看| 日韩专区中文字幕一区二区| 国产永久精品大片wwwapp| 91女神在线视频| 欧美一区2区视频在线观看| 国产农村妇女毛片精品久久麻豆 | 欧美性受极品xxxx喷水| 欧美一区二区三区婷婷月色| 久久久久久久精| 亚洲综合偷拍欧美一区色| 久久精品国产第一区二区三区| 成人免费观看视频| 91精品国产色综合久久不卡蜜臀 | 欧美又粗又大又爽| 精品国产一区二区三区忘忧草 | 久久综合九色综合欧美就去吻| 亚洲国产成人午夜在线一区| 视频一区二区三区入口| 99视频在线精品| 久久九九久久九九| 午夜精品福利视频网站| 成人av电影在线播放| 日韩免费观看高清完整版 | 日韩一级高清毛片| 亚洲欧美一区二区三区极速播放| 久久精品国产精品亚洲红杏| 欧美日韩在线精品一区二区三区激情| 国产亚洲1区2区3区| 美女视频网站久久| 欧美顶级少妇做爰| 亚洲精品欧美综合四区| a在线欧美一区| 国产婷婷色一区二区三区四区| 日本va欧美va瓶| 欧美羞羞免费网站| 自拍偷拍亚洲综合| 成人a级免费电影| 国产亚洲欧美色| 国产高清不卡一区二区| 日韩美一区二区三区| 亚洲成人综合视频| 欧美在线不卡视频| 亚洲午夜成aⅴ人片| 色悠悠久久综合| 亚洲欧洲国产专区| 99re热这里只有精品免费视频| 日本一区二区三区高清不卡| 国产在线精品不卡| 26uuu精品一区二区在线观看| 另类欧美日韩国产在线| 91精品国产综合久久精品麻豆 | hitomi一区二区三区精品| 久久亚洲精华国产精华液| 国产一区二区三区高清播放| 欧美成人一区二区| 国产一区二区三区最好精华液| 精品久久久久久久久久久久久久久久久| 免费在线观看成人| 欧美精品一区二| 国产成人av资源| 国产精品国产三级国产普通话99| 成人福利视频在线看| 亚洲欧美一区二区三区极速播放| 色天天综合久久久久综合片| 亚洲精品国产一区二区精华液| 在线一区二区视频| 男人的天堂久久精品| 欧美精品一区视频| aa级大片欧美| 亚洲国产精品久久艾草纯爱| 日韩限制级电影在线观看| 国产高清精品在线| 一区二区三区产品免费精品久久75| 欧美性高清videossexo| 裸体健美xxxx欧美裸体表演| 久久久国产午夜精品| 91色在线porny| 天涯成人国产亚洲精品一区av| 日韩欧美在线网站| 91在线国产福利| 日欧美一区二区| 中文字幕欧美三区| 91精品国产综合久久婷婷香蕉| 国产福利精品一区二区| 亚洲综合av网| 久久久精品免费观看| 色综合色综合色综合| 奇米影视一区二区三区| 亚洲日本va在线观看| 日韩三级伦理片妻子的秘密按摩| 成人91在线观看| 人禽交欧美网站| 亚洲欧美日韩在线播放| 337p日本欧洲亚洲大胆色噜噜| 91久久一区二区| 国产91丝袜在线播放| 图片区日韩欧美亚洲| 国产精品福利一区| 欧美精品一区二区三区很污很色的| 不卡电影一区二区三区| 激情综合色综合久久综合| 夜色激情一区二区| 中文字幕一区视频| 国产亚洲女人久久久久毛片| 7878成人国产在线观看| 一本一道综合狠狠老| 国产精品 欧美精品| 老司机精品视频导航| 婷婷一区二区三区| 一区二区三区日韩在线观看| 亚洲国产成人在线| 国产调教视频一区| 欧美α欧美αv大片| 91精品国产综合久久精品app| 色诱亚洲精品久久久久久| 国产xxx精品视频大全| 久久电影网电视剧免费观看| 三级在线观看一区二区| 亚洲国产精品自拍| 亚洲午夜羞羞片| 亚洲国产综合色| 亚洲一区二区av在线| 亚洲精品国产a久久久久久| 国产精品久久久久久久第一福利 | 成人av资源下载| 国产91色综合久久免费分享| 国产乱子伦视频一区二区三区 | 亚洲精品一区在线观看| 欧美mv和日韩mv的网站| 精品国产一区二区三区忘忧草 | 在线电影院国产精品| 4438x亚洲最大成人网| 9191成人精品久久| 欧美一区二区三区免费| 日韩一二三区不卡| 久久综合色播五月| 亚洲国产精品成人综合| 中文字幕一区二区在线观看| 亚洲欧美日韩在线不卡| 亚洲午夜免费电影| 免费成人在线播放| 国产精品一区免费视频| 不卡一卡二卡三乱码免费网站| jlzzjlzz欧美大全| 欧美色图免费看| 日韩精品一区二区三区视频在线观看 | 日本人妖一区二区| 国产一区二区调教| 91性感美女视频| 欧美精品久久天天躁| 日韩一区二区精品在线观看| 久久九九久久九九| 亚洲午夜久久久久久久久电影网| 青娱乐精品在线视频| 成人午夜电影小说| 欧美日韩国产影片| 久久嫩草精品久久久精品| 亚洲天堂网中文字| 青青草成人在线观看| 成人午夜电影久久影院| 欧美日韩在线播放一区| 久久影院午夜片一区| 一区二区久久久| 国产毛片精品国产一区二区三区| 91色|porny| 欧美精品一区二| 午夜成人免费电影| 国产激情一区二区三区四区| 欧美在线观看一区| 国产精品久久久久精k8| 蜜桃视频一区二区三区 | 蜜臀va亚洲va欧美va天堂|