Please support our sponsors!
This service provided by BeBits: The Best Source of BeOS Software!
OpenBeOS.ExtractorWriterAPI.ProposedAPI.MediaWriter
struct media_write_info {
  uint32    flags;
  int32     used_data_size;
  bigtime_t start_time;
  bigtime_t time_to_write;
  void * file_format_data;
  size_t file_format_data_size;
  int8   pad[??];
media_write_info(); }
class BMediaWriter { public: BMediaWriter(); // start with a file or other destination BMediaWriter(const entry_ref * ref, const media_file_format * mfi, int32 flags = 0); BMediaWriter(BPositionIO * destination, const media_file_format * mfi, int32 flags = 0);
// start with a file format specification BMediaWriter(const media_file_format * outputFormat); BMediaWriter(const media_file_format_info * info); virtual ~BMediaWriter(void); status_t InitCheck() const;
status_t SetDestination(const entry_ref * ref, int32 flags = 0); status_t SetDestination(BPositionIO * destination, int32 flags = 0);
status_t SetTo(const media_file_format * outputFormat); status_t SetTo(const media_file_format_info * info); status_t SetOutputFormat(const media_file_format * outputFormat, media_file_format_info * info); // for direct transcoding status_t SetInputFormat(media_file_format * inputFormat); status_t SetSource(const entry_ref * ref, int32 flags = 0); status_t SetSource(BPositionIO * destination, int32 flags = 0);
status_t Write(void * buffer, int64 * count, media_write_info * outInfo);
status_t GetWriterInfo(media_file_format_info * outInfo) const;
// convenience methods, call to SetParameterValue inline status_t SetCopyright(const char * data, int32 length = -1) { if (length == -1) length=strlen(data); return SetParameterValue(B_COPYRIGHT,©right,length); }
// 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 writer may return a BParameterWeb for browsing // or configuring the file format's parameters. returns // NULL if the writer 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 BMediaWriter(const BMediaWriter &); BMediaWriter & operator=(const BMediaWriter &);
static status_t write_chunk(void *classptr, const void * chunkData, size_t * chunkLen, media_write_info * info); void ReleaseEncoder();
BAddonManager * fWritersManager; BWriter * fWriter; int32 fWriterID; bool fFormatValid; bool fWriterStarted; status_t fInitStatus;
// gobble gobble uint32 _reservedBMediaWriter_[32];
virtual status_t _ReservedBMediaWriter_0(int 32 arg, ...); virtual status_t _ReservedBMediaWriter_1(int 32 arg, ...); // .... }

shatty!


PAGE VISITS
848

LINKS HERE
OpenBeOS.ExtractorWriterAPI.ProposedAPI
OpenBeOS.MediaKit.ProposedAPIOverview
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