The Media Kit Table of Contents     The Media Kit Index

BMediaBufferEncoder

Derived from: BMediaBufferEncoder

Declared in: be/media/MediaEncoder.h

Library: libmedia.so

Summary

 BMediaBufferEncoderから派生したBMediaBufferEncoderクラスは、(ファイルからではなく)メモリバッファからのメディアデータをエンコードするために呼び出されます。

 この仕事を果たせるように、BMediaBufferEncoder::WriteChunk()関数が実装されます。BMediaBufferEncoder::AddTrackInfo()は実装されていません。


Hook Functions

WriteChunk()


Constructor and Destructor


BMediaBufferEncoder()

                                                         
  

BMediaBufferEncoder()

BMediaBufferEncoder(const media_format *outputFormat)

 コンストラクタは、BMediaBufferEncoderをセットアップします。もし引数に何も取らないコンストラクタを使用するなら、encode()を呼び出す前に、エンコードされるフォーマットを確立するためSetTo()を呼び出さなければなりません。

 2つ目のコンストラクタは、media_format構造体であるinFormatを引数に取ります。inFormatは、encoderに入力されるメディアデータのタイプを示します。

 3つ目のコンストラクタは、media_codec_info構造体であるmciを引数に取ります。mciは、どのcodecが使用されるかを決定します。

 
もしmedia_formatまたはmedia_codec_infoを引数に取るいずれかのコンストラクタを使用する場合、このクラスのほかの関数が使用される前に、コンストラクトが問題なく行われたことを確認するためInitCheck()を呼び出さなければなりません。



~BMediaBufferEncoder()

                                                         
  

virtual ~BMediaBufferEncoder()

 BMediaBufferEncoderによって使用されるencoder add-onを解放します。


Member Functions


EncodeToBuffer()

                                                         
  

status_t EncodeToBuffer(void *outputBuffer, size_t *outputSize,
      const void *inputBuffer, int64 frameCount,
      media_encode_info *info)

 inputBufferによって示される入力バッファから得られるメディアデータのチャンクをエンコードします。inputBufferは、frameCount個のデータのフレームを内包しています。エンコードされたデータは、outputBufferによって示されるバッファに書込まれます。この関数が返る際には、outputSizeはバッファに書込まれたデータのバイト数を示します。

 media_encode_info構造体であるinfoは、入力時にエンコードするparameterを特定するために使用されます。

RETURN CODES


InitCheck()

                                                         
  

status_t InitCheck(void) const

 コンストラクトが問題なく行われたかどうかを示すstatus_tの値を返します。コンストラクト後、BMediaBufferEncoderの他の関数が呼び出される前に、この関数を呼び出さなければなりません。

RETURN CODES


WriteChunk()

protected:

                                                         
  

status_t WriteChunk(const void *chunkData, size_t chunkLength,
      media_encode_info *info) = 0

 EncodeToBuffer()が呼び出された際に、指定されたバッファにエンコードされたメディアデータを書込むよう実装されます。


The Media Kit Table of Contents     The Media Kit Index


The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..