From 83a69e16c5a72b183574ea508dc5435da60fe79d Mon Sep 17 00:00:00 2001 From: Barrett17 Date: Thu, 21 Feb 2019 17:42:20 +0100 Subject: [PATCH] MediaExtractor and MediaWriter fix constness * Fixes an ugly hack, where the codec was initialized in the InitCheck and prevented the method to be const too. --- headers/os/codec/MediaExtractor.h | 4 ++-- headers/os/codec/MediaWriter.h | 5 +++-- src/kits/codec/MediaExtractor.cpp | 4 ++-- src/kits/codec/MediaWriter.cpp | 6 ++++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/headers/os/codec/MediaExtractor.h b/headers/os/codec/MediaExtractor.h index 3aad3dd674..b2fd0c23cd 100644 --- a/headers/os/codec/MediaExtractor.h +++ b/headers/os/codec/MediaExtractor.h @@ -28,7 +28,7 @@ public: //BMediaExtractor(BMediaStreamer* streamer); ~BMediaExtractor(); - status_t InitCheck(); + status_t InitCheck() const; BDataIO* Source() const; @@ -39,7 +39,7 @@ public: status_t GetStreamMetaData(int32 stream, BMetaData* data) const; - int32 CountStreams(); + int32 CountStreams() const; const media_format* EncodedFormat(int32 stream); int64 CountFrames(int32 stream) const; diff --git a/headers/os/codec/MediaWriter.h b/headers/os/codec/MediaWriter.h index 3b6fda0db1..acef2f1071 100644 --- a/headers/os/codec/MediaWriter.h +++ b/headers/os/codec/MediaWriter.h @@ -22,7 +22,7 @@ public: const media_file_format& fileFormat); ~BMediaWriter(); - status_t InitCheck(); + status_t InitCheck() const; BDataIO* Target() const; @@ -54,8 +54,9 @@ private: void* cookie; }; + status_t fInitCheck; BDataIO* fTarget; - BWriter* fWriter; + BWriter* fWriter; List fStreamInfos; media_file_format fFileFormat; diff --git a/src/kits/codec/MediaExtractor.cpp b/src/kits/codec/MediaExtractor.cpp index e26998b97e..abf0a7d895 100644 --- a/src/kits/codec/MediaExtractor.cpp +++ b/src/kits/codec/MediaExtractor.cpp @@ -184,7 +184,7 @@ BMediaExtractor::~BMediaExtractor() status_t -BMediaExtractor::InitCheck() +BMediaExtractor::InitCheck() const { CALLED(); return fInitStatus; @@ -215,7 +215,7 @@ BMediaExtractor::GetMetaData(BMetaData* data) const int32 -BMediaExtractor::CountStreams() +BMediaExtractor::CountStreams() const { CALLED(); return fStreamCount; diff --git a/src/kits/codec/MediaWriter.cpp b/src/kits/codec/MediaWriter.cpp index 234e7fe664..1fcc3edd5f 100644 --- a/src/kits/codec/MediaWriter.cpp +++ b/src/kits/codec/MediaWriter.cpp @@ -56,6 +56,8 @@ BMediaWriter::BMediaWriter(BDataIO* target, const media_file_format& fileFormat) CALLED(); gPluginManager.CreateWriter(&fWriter, fFileFormat, fTarget); + + fInitCheck = fWriter->Init(&fFileFormat); } @@ -78,11 +80,11 @@ BMediaWriter::~BMediaWriter() status_t -BMediaWriter::InitCheck() +BMediaWriter::InitCheck() const { CALLED(); - return fWriter != NULL ? fWriter->Init(&fFileFormat) : B_NO_INIT; + return fWriter != NULL ? fInitCheck : B_NO_INIT; }