MediaFile: Little refactor to use the MediaStreamer class

* This clarify the ownership of the source when using the experimental
API.
* The extractor/writer are simplified and don't have to care about
adapters.
* MediaStreamer is able to provide a generic BAdapterIO that is
suitable also for different uses than the codecs API itself.
This commit is contained in:
Dario Casalinuovo
2017-05-04 14:08:07 +02:00
parent 9198105dbb
commit c0ef5b2b7c
4 changed files with 56 additions and 16 deletions
+6 -2
View File
@@ -16,6 +16,7 @@
namespace BPrivate {
namespace media {
class MediaExtractor;
class MediaStreamer;
class MediaWriter;
}
class _AddonManager;
@@ -172,6 +173,8 @@ private:
int32 fWriterID;
media_file_format fMFI;
BPrivate::media::MediaStreamer* fStreamer;
bool fFileClosed;
bool fDeleteSource;
bool _reserved_was_fUnused[2];
@@ -186,6 +189,8 @@ private:
const BUrl* url,
const media_file_format* fileFormat,
int32 flags);
void _InitStreamer(const BUrl& url,
BDataIO** adapter);
BMediaFile();
BMediaFile(const BMediaFile&);
@@ -193,10 +198,9 @@ private:
BDataIO* fSource;
// FBC data and virtuals
uint32 _reserved_BMediaFile_[32];
uint32 _reserved_BMediaFile_[31];
virtual status_t _Reserved_BMediaFile_0(int32 arg, ...);
virtual status_t _Reserved_BMediaFile_1(int32 arg, ...);