Please support our sponsors!
This service provided by BeBits: The Best Source of BeOS Software!
OpenBeOS.ExtractorWriterAPI.ProposedAPI.MediaExtractor
struct media_extract_info {
  bigtime_t time_to_extract;
  void * file_format_data;
  size_t file_format_data_size;
  int8   pad[??];
media_extract_info(); }
class BMediaExtractor { public: BMediaExtractor(); // start with a file or other source BMediaExtractor(const entry_ref * ref, int32 flags = 0); BMediaExtractor(BPositionIO * source, int32 flags = 0);
// start with a file format specification BMediaExtractor(const media_file_format * inFormat, const void * info = NULL, size_t infoSize = 0); BMediaExtractor(const media_file_format_info * info); virtual ~BMediaExtractor(void); status_t InitCheck() const;
status_t SetSource(const entry_ref * ref, int32 flags = 0); status_t SetSource(BPositionIO * source, int32 flags = 0);
status_t SetTo(const media_file_format * inFormat, const void * info = NULL, size_t infoSize = 0); status_t SetTo(const media_file_format_info * info); status_t SetInputFormat(const media_file_format * inputFormat, const void * inInfo = NULL, size_t inSize = 0); // for direct transcoding status_t SetOutputFormat(media_file_format * outputFormat); status_t SetDestination(const entry_ref * ref, int32 flags = 0); status_t SetDestination(BPositionIO * source, int32 flags = 0);
status_t Extract(void * outBuffer, int64 * outCount, media_header * outHeader, media_extract_info * outInfo);
status_t GetExtractorInfo(media_file_format_info * outInfo) const;
// convenience methods, just call to GetParameterValue inline int32 GetDuration() const { int32 value; GetParameterValue(B_DURATION,&value),0); return value; } inline int32 GetTrackCount() const { int32 value; GetParameterValue(B_TRACK_COUNT,&value,0); return value; }
// provides B_TRACK_COUNT, and B_DURATION // see also BMediaFile::GetParameterValue virtual status_t GetParameterValue(int32 id, const void * value, size_t * size) = 0; // additional configuration parameters // see also BMediaFile::SetParameterValue virtual status_t SetParameterValue(int32 id, const void * value, size_t size); // the extractor may return a BParameterWeb for browsing // or configuring the file format's parameters. returns // NULL if the extractor doesn't support this. // see also BMediaFile::Web virtual BParameterWeb * Web(void);
...
protected: virtual status_t GetNextChunk(const void ** chunkData, size_t * chunkLength, media_header * header) = 0;
private: // unimplemented BMediaExtractor(const BMediaExtractor &); BMediaExtractor & operator=(const BMediaExtractor &);
static status_t next_chunk(void *classptr, void**chunkData, size_t *chunkLen, media_header *mh); void ReleaseDecoder();
BAddonManager * fExtractorsManager; BExtractor * fExtractor; int32 fExtractorID; status_t fInitStatus;
// gobble gobble uint32 _reservedBMediaExtractor_[32];
virtual status_t _ReservedBMediaExtractor_0(int 32 arg, ...); virtual status_t _ReservedBMediaExtractor_1(int 32 arg, ...); // .... }

shatty!


PAGE VISITS
873

LINKS HERE
OpenBeOS.MediaKit.ProposedAPIOverview
OpenBeOS.ExtractorWriterAPI.ProposedAPI
OpenBeOS

NEW PAGES
BuildingCairo
StoringDataInBetweenOSes
ScriptingBeosRuby
ScriptingBeosPython
HaikuOS
QemUwinbe
MinimalBeos
XpMBRoverwrite
SteveSakoman
MailingLists

RECENT CHANGES
BuildingCairo
BeCommunity
BuildingFirebird
PlayGround
CorumIII
BeAcademic
SupportForMachinesAndArchitectures
BeOsReleases
HowTo
HaikuOS
Edit Page | Front Page | BeBits
Site content is in the public domain. Unless otherwise noted, everything else is copyright © 1999-2002 Fifth Ace Productions, LLC. All Rights Reserved.
For more legal trivia, take a gander at our
Legal Stuff page and our Privacy Statement.
Fifth Ace Productions