[Haiku-commits] r31004 - haiku/trunk/src/add-ons/media/plugins/avcodec

dlmcpaul at BerliOS dlmcpaul at mail.berlios.de
Wed Jun 10 04:53:26 CEST 2009


Author: dlmcpaul
Date: 2009-06-10 04:53:26 +0200 (Wed, 10 Jun 2009)
New Revision: 31004
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=31004&view=rev

Modified:
   haiku/trunk/src/add-ons/media/plugins/avcodec/avcodec.cpp
Log:
Read Extra Data needed by MSADPCM and others

Modified: haiku/trunk/src/add-ons/media/plugins/avcodec/avcodec.cpp
===================================================================
--- haiku/trunk/src/add-ons/media/plugins/avcodec/avcodec.cpp	2009-06-10 02:49:45 UTC (rev 31003)
+++ haiku/trunk/src/add-ons/media/plugins/avcodec/avcodec.cpp	2009-06-10 02:53:26 UTC (rev 31004)
@@ -186,7 +186,7 @@
 				}
 				TRACE("avCodec: found decoder %s\n",fCodec->name);
 				
-				if (gCodecTable[i].family == B_WAV_FORMAT_FAMILY && infoSize == sizeof(wave_format_ex)) {
+				if (gCodecTable[i].family == B_WAV_FORMAT_FAMILY && infoSize >= sizeof(wave_format_ex)) {
 					const wave_format_ex *wfmt_data
 						= (const wave_format_ex *)infoBuffer;
 					size_t wfmt_size = infoSize;
@@ -595,9 +595,15 @@
 			diff2 += prof_t3 - prof_t2;
 			prof_cnt++;
 			if (!(fFrame % 10)) {
-				TRACE("[%c] profile: d1 = %lld, d2 = %lld (%Ld)\n",
-					isAudio?('a'):('v'), diff1/prof_cnt, diff2/prof_cnt,
-					fFrame);
+				if (info) {
+					TRACE("[%c] profile: d1 = %lld, d2 = %lld (%Ld) required %Ld\n",
+						isAudio?('a'):('v'), diff1/prof_cnt, diff2/prof_cnt,
+						fFrame, info->time_to_decode);
+				} else {
+					TRACE("[%c] profile: d1 = %lld, d2 = %lld (%Ld) required %Ld\n",
+						isAudio?('a'):('v'), diff1/prof_cnt, diff2/prof_cnt,
+						fFrame, bigtime_t(1000000LL / fOutputFrameRate));
+				}
 			}
 #endif
 		}




More information about the Haiku-commits mailing list