コード例 #1
0
int ConvertH264()
{
	int nOffset = 0;
	int count = 0;

	if (g_cnvt.Open(g_flvFile) == 0)
		return 0;

	unsigned int nTimeStamp = 0;
	while (1)
	{
		int nNaluSize = 0;
		if (Cnvt::GetOneNalu(g_pBufferIn + nOffset, g_nFileSize - nOffset, g_pBufferOut, nNaluSize) == 0)
			break;

		g_cnvt.ConvertH264((char *)g_pBufferOut, nNaluSize, nTimeStamp);

		if (g_pBufferOut[4] != 0x67 && g_pBufferOut[4]!=0x68)
			nTimeStamp += 33;
		nOffset += nNaluSize;
		if (nOffset >= g_nFileSize - 4)
			break;
		count++;
	}
	g_cnvt.Close();

	return 1;
}