From 68b80bbdb9701ea470dd78037dee4c6e9694f959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 23 Jan 2004 07:11:15 +0000 Subject: [PATCH] Slightly improved error reporting for CreateDecoder (now with error code). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6238 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/media/MediaExtractor.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/kits/media/MediaExtractor.cpp b/src/kits/media/MediaExtractor.cpp index 82440c4d5e..71517ff45a 100644 --- a/src/kits/media/MediaExtractor.cpp +++ b/src/kits/media/MediaExtractor.cpp @@ -1,25 +1,28 @@ #include "MediaExtractor.h" #include "PluginManager.h" #include "debug.h" -#include -#include + #include -MediaExtractor::MediaExtractor(BDataIO * source, int32 flags) +#include +#include + + +MediaExtractor::MediaExtractor(BDataIO *source, int32 flags) { CALLED(); fSource = source; fStreamInfo = 0; - + fErr = _CreateReader(&fReader, &fStreamCount, &fMff, source); if (fErr) { fStreamCount = 0; fReader = 0; return; } - + fStreamInfo = new stream_info[fStreamCount]; - + // initialize stream infos for (int32 i = 0; i < fStreamCount; i++) { fStreamInfo[i].status = B_OK; @@ -28,7 +31,7 @@ MediaExtractor::MediaExtractor(BDataIO * source, int32 flags) fStreamInfo[i].infoBufferSize = 0; memset(&fStreamInfo[i].encodedFormat, 0, sizeof(fStreamInfo[i].encodedFormat)); } - + // create all stream cookies for (int32 i = 0; i < fStreamCount; i++) { if (B_OK != fReader->AllocateCookie(i, &fStreamInfo[i].cookie)) { @@ -192,11 +195,12 @@ MediaExtractor::CreateDecoder(int32 stream, Decoder **decoder, media_codec_info return res; } - (*decoder)->Setup(new MediaExtractorChunkProvider(this,stream)); + (*decoder)->Setup(new MediaExtractorChunkProvider(this, stream)); res = (*decoder)->Setup(&fStreamInfo[stream].encodedFormat, fStreamInfo[stream].infoBuffer , fStreamInfo[stream].infoBufferSize); if (res != B_OK) { - printf("MediaExtractor::CreateDecoder Setup failed for stream %ld\n", stream); + printf("MediaExtractor::CreateDecoder Setup failed for stream %ld: %ld (%s)\n", + stream, res, strerror(res)); } return res; }