The Media Kit Table of Contents | The Media Kit Index |
Derived from: none
Declared in: be/media/MediaFormats.h
Library: libmedia.so
Allocation: Constructor only
BMediaFormatクラスは、BeOSのメディアフォーマットの識別子と、codec自身によって使用される識別子との間の変換の手段を提供します。これは、主としてcodec add-onまたはファイルフォーマットのパーサを書いている場合に便利です。
BMediaFormatsクラスは、現在のところ下記のフォーマットを扱うcodecの同定方法間の変換手法を知っています :
|
コンストラクタです。インスタンスが生成された後、オブジェクトが適切に初期化されたことを確認するためにInitCheck()を呼び出して下さい。
|
デストラクタです。
|
GetBeOSFormatFor()は、与えられたBeOSのformatのID及びmedia_typeに対応するメディアフォーマットを記述するmedia_format構造体を、outFormatに返します。
GetAVIFormatFor()は、与えられたAVIのformatのID及びmedia_typeに対応するメディアフォーマットを記述するmedia_format構造体を、outFormatに返します。
GetQuicktimeormatFor()は、与えられたQuickTimeのvendor ID、codec ID及びmedia_typeに対応するメディアフォーマットを記述するmedia_format構造体を、outFormatに返します。
RETURN CODES
B_OK. エラーなし。
|
指定されたメディアのformatを与えられることによって、指定されたフォーマットのfamilyを記述するメディアフォーマットをoutDescriptionに返します。
RETURN CODES
B_OK. エラーなし。
|
descriptionによって指定されるメディアフォーマットを記述するmedia_format構造体を、outFormatに返します。これによって、ファイル独自の記述情報から容易にmedia_format構造体を得ることができます。
RETURN CODES
B_OK. エラーなし。
|
サポートされた次のメディアフォーマットのmedia_formatとmedia_format_descriptionで、outFormat及びoutDescriptionを満たします。
RETURN CODES
B_OK. エラーなし。
|
コンストラクタからの状態コードを返します。他の呼び出しを発行する前に、オブジェクトが適切に初期化されたことを確認するためにこの関数を呼び出して下さい。
RETURN CODES
B_OK. オブジェクトは使用準備が整っている。
|
Lock()は、BMediaFormatsオブジェクトをロックします。これによって、作業している間にそれが変化しないと信頼して、そのオブジェクトを使用することができます。
Unlock()は、そのオブジェクトを用いた作業が終了したらBMediaFormatsオブジェクトを解放します。作業が完了する際には、必ずこの関数を呼び出して下さい。
|
|
配列descriptionsにメディアフォーマットの記述を与え、そのリストの記述数をdescCountに与え、そしてmedia_formatであるioFormatを与えることで、この関数はフォーマットの記述とMedia Kitにサポートされるmedia_formatを登録し、それ以降に使用可能なmedia_formatを返します。
この関数は、Media Serverに、エンコードしている値をあなたのmedia_format_descriptionに割り当てさせるために呼び出されます。もしあなたがcodec add-onまたはファイルパーサを実装しているなら、あなたが何を扱うかMedia Kitに知らせるためにこの関数を呼び出して下さい。
(訳注 : 訳に自信なし)
RETURN CODES
B_OK. エラーなし。
|
フォーマットのスキャンを、サポートされるフォーマットの最初にリセットします。これにより、GetNextFormat()はリストの最初から開始されることになります。
RETURN CODES
B_OK. オブジェクトは使用する準備ができている。
Declared in: <be/media/MediaFormats.h>
Constant | Meaning |
---|---|
B_EXCLUSIVE | もしこのフォーマットがすでに登録されていれば失敗する。 |
B_NO_MERGE | もし以前登録されているものと複数の(番号の)衝突があれば、フォーマットを再度番号付けせず、その代りに失敗する。 |
B_SET_DEFAULT | 同じfamilyに一つ以上の登録が行われる際に、最初のフォーマットをフォーマットのfamilyのデフォルトにする。 |
これらの定数は、新しいフォーマットの追加に取りかかる方法についてのオプションを提供します。
Declared in: <be/media/MediaDefs.h>
Constant | Meaning |
---|---|
B_ANY_FORMAT_FAMILY | 全てのfamily。 |
B_BEOS_FORMAT_FAMILY | BeOSフォーマット。 |
B_QUICKTIME_FORMAT_FAMILY | QuickTimeフォーマット。 |
B_AVI_FORMAT_FAMILY | AVIフォーマット。 |
B_ASF_FORMAT_FAMILY | ASFフォーマット。 |
B_MISC_FORMAT_FAMILY | その他(MPEGを含む) |
これらの定数は、BMediaFormatsクラスがマップできるメディアフォーマットのfamilyを示します。
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 codec; } media_aiff_description;
メディアデータのフォーマットを、AIFF codec IDで記述します。
Declared in: <be/media/MediaFormats.h>
typedef struct { GUID guid; } media_asf_description;
メディアデータのフォーマットを、128ビットのASF GUIDで記述します。
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 codec; } media_avi_description;
メディアデータのフォーマットを、AVI codec IDで記述します。
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 id; } media_avr_description;
メディアデータのフォーマットを、AVR codec IDで記述します。
Declared in: <be/media/MediaFormats.h>
typedef struct { int32 format; } media_beos_description;
メディアデータのフォーマットを、BeOSのMedia Kitが理解し、正しく評価できる方法で記述します。formatフィールドは、あらかじめ決められた意味を持ちません。それはMedia Kitのみが理解するマジックナンバーです。
Declared in: <be/media/MediaFormats.h>
struct encoder_info { char pretty_name[96]; char short_name[32]; int32 id; int32 sub_id; int32 pad[63]; };
エンコーダに関する情報を提供します。pretty_nameは、(例えば"SuperSqueeze by Applied Interdynamic Systems, Inc."等といった)人間に読むことのできる完全な名前であり、short_nameは、("SuperSqueeze"等の)短い形式のエンコーダの名前です。
idは、BMediaFile::AddTrack()に渡される不透明なID番号であり、これによってトラックはエンコーダを識別することができます。
padは、構造体が将来拡張できるように予約されたスペースです。
Declared in: <be/media/MediaFormats.h>
struct media_file_format_info { char mimetype[64]; char pretty_name[64]; char short_name[32]; char file_extension[8]; media_format_family family; int64 capabilities; int32 id; int32 pad[64]; };
メディアファイルフォーマットを記述します。この構造体は、使用されているメディアファイルのタイプを決定するためにBMediaFileオブジェクトを使用する際に使われます。
Declared in: <be/media/MediaFormats.h>
typedef struct _media_format_description { #if defined(__cplusplus) _media_format_description(); ~_media_format_description(); _media_format_description(const _media_format_description &other); _media_format_description & operator=(const _media_format_description &other); #endif media_format_family family; uint32 _reserved_[3]; union { media_beos_description beos; media_quicktime_description quicktime; media_avi_description avi; media_asf_description asf; media_mpeg_description mpeg; media_wav_description wav; media_aiff_description aiff; media_misc_description misc; media_avr_description avr; uint32 _reserved_[12]; } u; } media_format_description;
メディアフォーマットを記述します。familyは、記述がフォーマットを認識するのに使用するmedia familyがユニオンの中のどれか示します。
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 file_format; uint32 codec; } media_misc_description;
その他のメディアファイルのフォーマットを記述します。
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 id; } media_mpeg_description;
メディアデータのフォーマットをMPEGのフォーマットIDとして記述します。これは下記の値を取ることができます :
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 file_format; uint32 codec; } media_misc_description;
メディアデータのフォーマットを、ファイルフォーマット/codecのペアで記述します。
Declared in: <be/media/MediaFormats.h>
typedef struct { uint32 codec; } media_wav_description;
メディアデータのフォーマットを、WAVのcodec IDで記述します。
|
もし与えられたmedia_file_formatが指定されたmedia_formatでデータを内包できるなら、trueを返します。そうでなければ、falseが返されます。
|
メディアファイルのフォーマットを記述するmedia_file_formatのmfi、要求された出力フォーマットを記述するmedia_formatのoutputFormat、及びオプションとして要求された入力フォーマットを記述するmedia_formatのinputFormatが与えられると、そのフォーマットを扱う能力のある次のエンコーダに関する情報をcodecInfoに返します。
cookieポインタによって示されるint32の値に、最初は0をセットして下さい。そして全ての利用可能なエンコードをスキャンするために、同じポインタをget_next_encoder()を呼び出すたびに渡して下さい。チェックするべきエンコーダがもう残っていないときは、B_BAD_INDEXが返されます。
もしこの関数の2つ目の形式を使用するなら、関数が返る際に、media_format構造体のacceptedInputFormat及びacceptedOutputFormatがcodecの受け入れるフォーマットを示すように満たされます。この関数のこの形式はワイルドカードをサポートしますが、最初は形式はサポートしません。
この関数の3番目の形式は特異度が低く、完全なcodecのリストを得るために使用できます。これは、ユーザが自分の使用したいcodecの選択を許可するユーザインターフェイスをあなたがコンストラクトする際に、codecが生成できる全ての利用可能なフォーマットの全リストを得るのに便利でしょう。
RETURN CODES
B_OK. エンコーダが発見され、返された。
グローバルC関数の節のget_next_file_format()もご覧下さい。
The Media Kit Table of Contents | The Media Kit Index |
Copyright © 2000 Be, Inc. All rights reserved..