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

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

?? amr_file.cpp

?? MONOGRAM AMR Splitter v0.9.0.1
?? CPP
字號:
//-----------------------------------------------------------------------------
//
//	AMR Demuxer
//
//	Author : Igor Janos
//
//-----------------------------------------------------------------------------
#include "stdafx.h"
#include <math.h>

const int AMR_Frame_Size[] = {
	13, 14, 16, 18, 20, 21, 27, 32,
	6, 6, 6, 6, 0, 0, 0, 1
};

//-----------------------------------------------------------------------------
//
//	CAMRFile class
//
//-----------------------------------------------------------------------------

CAMRFile::CAMRFile() :
	duration_10mhz(0),
	reader(NULL)
{
	total_samples = 0;
	current_sample = 0;
}

CAMRFile::~CAMRFile()
{
}

// I/O for AMR file
int CAMRFile::Open(CAMRReader *reader)
{
	// each AMR file must begin with 6-byte long code
	uint8		magic[6];
	uint8		magic_expected[6] = { 0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A };
	HRESULT		hr;
	int			ret;

	// keep a local copy of the reader
	this->reader = reader;
	reader->Seek(0);
	ret = reader->Read(magic, 6);				if (ret < 0) return ret;
	if (memcmp(magic, magic_expected, 6) != 0) return -1;

	seek_table.SetSize(0, 30);
	seek_table.RemoveAll();

	// now parse out all AMR frames
	total_frames = 0;
	CAMRPacket	p;
	while (true) {
		ret = p.Load(reader);
		if (ret == 0) {
			// each 16 frames a seek point
			if ((total_frames & 0x0f) == 0) {
				seek_table.Add(p.file_position);
			}
			total_frames ++;
		} else {
			break;
		}
	}

	total_samples = total_frames * 160;					// 160 samples per 20ms frame
	current_sample = 0;
	duration_10mhz = total_samples * 10000000 / 8000;	// 8KHz only

	// seek to begin
	Seek(0);

	return 0;
}

// parsing out packets
int CAMRFile::ReadAudioPacket(CAMRPacket *packet, int64 *cur_sample)
{
	// end of file ?
	if (current_sample >= total_samples) return -2;

	// load packet
	int ret = packet->Load(reader);
	if (ret < 0) return ret;

	// return sample number
	if (cur_sample) *cur_sample = current_sample;
	current_sample += 160;

	return 0;
}

int CAMRFile::Seek(int64 seek_sample)
{
	// right now we seek from the beginning
	if (seek_sample > total_samples) seek_sample = total_samples;
	if (seek_sample < 0) seek_sample = 0;

	int seek_index = (seek_sample / 160) >> 4;
	int64 seek_pos = 0;
	if (seek_index >= seek_table.GetCount()) {
		seek_pos = 6;
		seek_index = seek_table.GetCount() - 1;
		if (seek_index < 0) seek_index = 0;
	} else {
		seek_pos = seek_table[seek_index];
	}

	reader->Seek(seek_pos);
	current_sample = (seek_index * 16 * 160);
	return 0;
}


//-----------------------------------------------------------------------------
//
//	CAMRPacket
//
//-----------------------------------------------------------------------------

CAMRPacket::CAMRPacket() :
	file_position(0),
	packet_size(0)
{
}

CAMRPacket::~CAMRPacket()
{
}

int CAMRPacket::Load(CAMRReader *reader)
{
	int64	avail;
	int		ret;
	packet_size = 0;
	file_position = 0;
	tStart=0;
	tStop=0;

	reader->GetPosition(&file_position, &avail);

	// end of stream
	if (file_position >= avail) return -2;

	int		toread = min(sizeof(packet), (avail-file_position));
	ret = reader->Read(packet, toread);
	if (ret < 0) return ret;

	// zistime velkost framu
	int		type = (packet[0] >> 3) & 0x0f;
	packet_size = AMR_Frame_Size[type];
	if (packet_size == 0) return -2;		// nejaka blbost
	
	// seekneme na koniec framu
	reader->Seek(file_position + packet_size);
	return 0;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av在线| 国内精品久久久久影院一蜜桃| 成人黄色777网| 中文字幕精品在线不卡| 国产乱色国产精品免费视频| 2020日本不卡一区二区视频| 国产自产v一区二区三区c| 日本一区二区三区在线观看| 成人a级免费电影| 一区二区三区在线免费播放| 8x福利精品第一导航| 激情综合网av| 国产精品进线69影院| 欧美在线free| 蜜桃久久久久久| 国产精品日韩精品欧美在线| 91毛片在线观看| 免费在线观看精品| 中文字幕国产一区| 在线一区二区三区| 精品一区二区在线观看| 欧美激情中文不卡| 欧美色国产精品| 精品影院一区二区久久久| 国产精品电影院| 欧美一区国产二区| 成人伦理片在线| 日韩国产在线观看一区| 国产色91在线| 欧美精品一区二区三区高清aⅴ| 成人综合在线网站| 婷婷久久综合九色综合绿巨人| 久久综合五月天婷婷伊人| av亚洲精华国产精华| 人禽交欧美网站| 国产精品福利一区| 日韩欧美一级片| 91玉足脚交白嫩脚丫在线播放| 婷婷中文字幕一区三区| 亚洲国产高清在线观看视频| 欧美日韩久久久| 成人免费的视频| 日韩电影在线免费观看| 国产精品成人一区二区艾草 | 精品国产乱码久久久久久浪潮| 成人理论电影网| 麻豆久久一区二区| 亚洲自拍偷拍欧美| 国产精品视频yy9299一区| 欧美一区二区日韩| 在线一区二区三区| 成人动漫一区二区在线| 精品无码三级在线观看视频| 亚洲一区二区四区蜜桃| 国产精品色一区二区三区| 欧美一区二视频| 欧美日韩激情一区二区三区| 91蝌蚪porny九色| 高清在线成人网| 国产麻豆精品在线| 美女视频黄 久久| 亚洲chinese男男1069| 亚洲精品欧美激情| 国内不卡的二区三区中文字幕| 亚洲专区一二三| 18欧美亚洲精品| 中文字幕免费一区| 国产亚洲精品精华液| 精品国精品自拍自在线| 欧美一区二区三区人| 精品视频在线免费看| 在线看一区二区| 日本乱人伦aⅴ精品| 97se亚洲国产综合自在线| 成人综合在线视频| 成人午夜免费电影| 成人性视频网站| 成人网在线免费视频| 大桥未久av一区二区三区中文| 国产一区二区三区综合| 精品一区二区三区不卡| 久久草av在线| 久久黄色级2电影| 蜜臀av性久久久久蜜臀aⅴ流畅| 热久久免费视频| 久久99这里只有精品| 蜜臀av性久久久久蜜臀av麻豆| 蜜桃av一区二区在线观看| 日本成人在线视频网站| 蜜臀av一区二区| 激情综合网av| 成人手机电影网| 色综合久久久久综合99| 欧美午夜不卡视频| 欧美一区二区三区婷婷月色 | 日韩av中文字幕一区二区 | 日韩一卡二卡三卡四卡| 精品乱码亚洲一区二区不卡| 久久久综合视频| 久久99精品国产麻豆婷婷洗澡| 欧美aa在线视频| 国产精品888| 91性感美女视频| 欧美日韩中文字幕精品| 欧美电视剧在线观看完整版| 久久一夜天堂av一区二区三区| 欧美激情一区二区三区不卡| 亚洲美女屁股眼交3| 丝瓜av网站精品一区二区| 国内精品写真在线观看| 99热在这里有精品免费| 欧美精品在线观看播放| 欧美精品一区二区三区很污很色的 | 午夜激情一区二区| 国模套图日韩精品一区二区| a4yy欧美一区二区三区| 欧美精品高清视频| 国产亚洲精品精华液| 亚洲成人综合视频| 国产成a人亚洲精| 欧美亚洲高清一区二区三区不卡| 日韩一区二区中文字幕| 国产精品无遮挡| 日韩精品电影一区亚洲| 成人精品免费看| 欧美日韩第一区日日骚| 国产精品入口麻豆九色| 亚洲va中文字幕| 不卡的av中国片| 亚洲精品一区二区三区精华液| 亚洲色图欧洲色图| 狠狠色丁香婷婷综合| 欧美午夜在线观看| 国产精品伦一区二区三级视频| 日精品一区二区三区| 91丨porny丨蝌蚪视频| 精品国产1区二区| 亚洲.国产.中文慕字在线| www.日韩av| 2021国产精品久久精品| 天天av天天翘天天综合网| 99精品在线观看视频| 亚洲精品在线免费播放| 日本欧洲一区二区| 日本韩国视频一区二区| 国产精品三级电影| 国内精品久久久久影院薰衣草| 欧美日韩综合一区| 亚洲欧美国产三级| 成人精品小蝌蚪| 久久久久久夜精品精品免费| 午夜精品久久久久久久99水蜜桃| 99国产精品久久| 国产欧美综合色| 精品亚洲成a人| 日韩一区二区三区观看| 亚洲不卡一区二区三区| 欧美羞羞免费网站| 亚洲男人的天堂一区二区| www.性欧美| 国产视频一区在线观看| 国产九九视频一区二区三区| 日韩精品一区二区三区视频播放| 亚洲福利一区二区三区| 欧美色老头old∨ideo| 亚洲一二三专区| 欧美综合一区二区| 亚洲一区二区中文在线| 在线观看亚洲a| 亚洲一区av在线| 欧洲一区二区av| 一级中文字幕一区二区| 欧美亚洲国产怡红院影院| 亚洲尤物在线视频观看| 欧美日韩在线三区| 午夜精品久久久久久久久| 欧美一区二区三区免费观看视频 | 亚洲欧洲av另类| 96av麻豆蜜桃一区二区| 亚洲人123区| 欧美探花视频资源| 天堂成人国产精品一区| 国产精品久久久久一区二区三区共| 成人激情文学综合网| **网站欧美大片在线观看| 日本韩国欧美三级| 日韩主播视频在线| 欧美白人最猛性xxxxx69交| 国产一区在线视频| 国产精品久久久久一区二区三区 | 在线观看免费一区| 日韩专区欧美专区| 久久久不卡网国产精品一区| 成人免费高清在线观看| 亚洲影院理伦片| 欧美一区二区在线视频| 国产成人综合在线| 亚洲免费av观看| 欧美一级黄色大片| 大白屁股一区二区视频|