本文整理汇总了C++中BMediaFormats::Lock方法的典型用法代码示例。如果您正苦于以下问题:C++ BMediaFormats::Lock方法的具体用法?C++ BMediaFormats::Lock怎么用?C++ BMediaFormats::Lock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BMediaFormats
的用法示例。
在下文中一共展示了BMediaFormats::Lock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: register_encoder
void register_encoder()
{
status_t err;
media_format tempFormat, mediaFormat;
media_format_description formatDescription;
BMediaFormats formatObject;
formatObject.Lock();
/* register as a WAV codec */
memset(&mediaFormat, 0, sizeof(media_format));
mediaFormat.type = B_MEDIA_ENCODED_AUDIO;
mediaFormat.u.encoded_audio = media_encoded_audio_format::wildcard;
memset(&formatDescription, 0, sizeof(media_format_description));
formatDescription.family = B_WAV_FORMAT_FAMILY;
formatDescription.u.wav.codec = WAVE_FORMAT_MPEG;
err = formatObject.MakeFormatFor(formatDescription, mediaFormat, &tempFormat);
if (err == B_MEDIA_DUPLICATE_FORMAT)
formatObject.GetFormatFor(formatDescription, &tempFormat);
s_wavFormat = tempFormat;
/* register as a MPEG codec */
memset(&mediaFormat, 0, sizeof(media_format));
mediaFormat.type = B_MEDIA_ENCODED_AUDIO;
mediaFormat.u.encoded_audio = media_encoded_audio_format::wildcard;
memset(&formatDescription, 0, sizeof(media_format_description));
formatDescription.family = B_MPEG_FORMAT_FAMILY;
formatDescription.u.mpeg.id = B_MPEG_1_AUDIO_LAYER_3;
err = formatObject.MakeFormatFor(formatDescription, mediaFormat, &tempFormat);
if (err == B_MEDIA_DUPLICATE_FORMAT)
formatObject.GetFormatFor(formatDescription, &tempFormat);
s_mpegFormat = tempFormat;
formatObject.Unlock();
}