integration of codec API into BMediaFile and BMediaTrack

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5468 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
beveloper
2003-11-23 22:19:21 +00:00
parent 34626c6331
commit d859148201
13 changed files with 391 additions and 129 deletions
+8 -12
View File
@@ -10,7 +10,9 @@
namespace BPrivate {
class MediaExtractor;
namespace media {
class MediaExtractor;
}
class _IMPEXP_MEDIA MediaWriter;
class _AddonManager;
}
@@ -60,13 +62,7 @@ public:
BMediaFile(BDataIO *destination, // BFile is a BDataIO
const media_file_format * mfi,
int32 flags=0);
/* modified by Marcus Overhagen */
BMediaFile(const media_file_format * mfi,
int32 flags);
/* modified by Marcus Overhagen */
virtual ~BMediaFile();
status_t InitCheck() const;
@@ -123,7 +119,7 @@ BMediaFile(const media_file_format * mfi,
virtual status_t Perform(int32 selector, void * data);
private:
BPrivate::MediaExtractor *fExtractor;
BPrivate::media::MediaExtractor *fExtractor;
int32 _reserved_BMediaFile_was_fExtractorID;
int32 fTrackNum;
status_t fErr;
@@ -136,7 +132,7 @@ private:
bool fFileClosed;
bool _reserved_was_fUnused[3];
BList *fTrackList;
BMediaTrack **fTrackList;
void Init();
void InitReader(BDataIO *source, int32 flags = 0);
@@ -147,12 +143,12 @@ private:
BMediaFile(const BMediaFile&);
BMediaFile& operator=(const BMediaFile&);
BFile *fFile;
BDataIO *fSource;
/* fbc data and virtuals */
uint32 _reserved_BMediaFile_[32];
uint32 _reserved_BMediaFile_[32];
virtual status_t _Reserved_BMediaFile_0(int32 arg, ...);
virtual status_t _Reserved_BMediaFile_1(int32 arg, ...);
+14 -18
View File
@@ -6,10 +6,12 @@
#include <MediaFormats.h>
namespace BPrivate {
class MediaExtractor;
class Decoder;
class MediaWriter;
class Encoder;
namespace media {
class MediaExtractor;
class Decoder;
class Encoder;
}
}
class BView;
@@ -192,23 +194,22 @@ public:
virtual status_t Perform(int32 selector, void * data);
private:
friend class BMediaFile;
// for read-only access to a track
BMediaTrack(BPrivate::MediaExtractor *extractor, int32 stream);
BMediaTrack(BPrivate::media::MediaExtractor *extractor, int32 stream);
// for write-only access to a BMediaTrack
BMediaTrack(BPrivate::MediaWriter *writer,
int32 stream_num,
media_format *in_format,
BPrivate::Encoder *encoder,
BPrivate::media::Encoder *encoder,
media_codec_info *mci);
status_t TrackInfo(media_format *out_format, void **out_info,
int32 *out_infoSize);
status_t fErr;
BPrivate::Decoder *fDecoder;
int32 fDecoderID;
BPrivate::MediaExtractor *fExtractor;
BPrivate::media::Decoder *fDecoder;
int32 __unused__fDecoderID;
BPrivate::media::MediaExtractor *fExtractor;
int32 fStream;
int64 fCurFrame;
@@ -216,26 +217,21 @@ private:
media_codec_info fMCI;
BPrivate::Encoder *fEncoder;
BPrivate::media::Encoder *fEncoder;
int32 fEncoderID;
BPrivate::MediaWriter *fWriter;
media_format fWriterFormat;
void *fExtractorCookie;
void *__unused__fExtractorCookie;
protected:
int32 EncoderID() { return fEncoderID; };
private:
friend class BMediaFile;
friend class BPrivate::Decoder;
BMediaTrack();
BMediaTrack(const BMediaTrack&);
BMediaTrack& operator=(const BMediaTrack&);
static BPrivate::Decoder * find_decoder(BMediaTrack *track, int32 *id);
/* fbc data and virtuals */
uint32 _reserved_BMediaTrack_[31];