MF_TRANSCODE_ADJUST_PROFILE_FLAGS列舉 (mfidl.h)
定義 在 MF_TRANSCODE_ADJUST_PROFILE 屬性中設定的設定檔旗標。
這些旗標會在拓撲建置期間由 MFCreateTranscodeTopology 檢查。 根據這些旗標, MFCreateTranscodeTopology 會根據拓撲中使用的編碼器輸入需求修改資料流程的組態設定,以調整轉碼設定檔。
如需應用程式可指定之資料流程設定的詳細資訊,請參閱 使用 Transcode API。
Syntax
typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;
常數
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT 值: 0 媒體基礎會針對音訊和視訊串流使用應用程式指定的設定。 如果應用程式未提供必要的設定,則會建立拓撲,但編碼會話會失敗。 視訊資料流程會修改畫面播放速率和交錯模式設定。 如需詳細資訊,請參閱<備註>。 |
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 值: 1 針對音訊和視訊資料流程,遺漏的資料流程設定會藉由複製輸入來源屬性來填入。 此旗標可確保轉碼的輸出檔最符合輸入檔。 |
備註
如果指定 MF_TRANSCODE_ADJUST_PROFILE_DEFAULT 旗標,則會對視訊串流進行下列變更:
- 如果在MFCreateTranscodeTopology的pSrc參數中指定的媒體來源畫面播放速率,以及應用程式在MF_MT_FRAME_RATE屬性中指定的畫面播放速率與小於 1/1000,則設定檔會使用媒體來源畫面播放速率。 這是因為管線會將差異視為可忽略。
- 如果應用程式未藉由設定 MF_MT_INTERLACE_MODE 屬性來指定交錯模式,設定檔會變更為使用漸進式畫面。
- MF_MT_AUDIO_NUM_CHANNELS
- MF_MT_AUDIO_SAMPLES_PER_SECOND
- MF_MT_AUDIO_BLOCK_ALIGNMENT
- MF_MT_AUDIO_AVG_BYTES_PER_SECOND
- MF_MT_AUDIO_BITS_PER_SAMPLE
當您想要使用輸入資料流程屬性來轉碼檔案時,請使用 MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 旗標。 在拓撲中插入 MFT 節點之前,輸入來來源資料流屬性會複製到輸出媒體類型。 如果您設定其他資料流程屬性,此旗標不會覆寫設定的值。 只有遺漏的屬性會填入輸入來源的屬性值。 此旗標在 remux 案例中很有用,您想要以與輸入來源相同的格式產生輸出檔案。 如果您想要執行格式轉換,請務必設定資料流程 的 MF_MT_SUBTYPE 屬性,以指定拓撲產生器必須使用的編碼器。 除非已設定 MF_TRANSCODE_DONOT_INSERT_ENCODER ,否則轉換節點會新增至拓撲中。 在此情況下,內容不會編碼。 相反地,如果容器允許,內容就會內嵌在指定的容器中。
例如,假設您的輸入來源是 MP3 檔案。 您可以將容器設定為 MFTranscodeContainerType_ASF,您不會設定任何資料流程屬性,而且您設定 MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 旗標。 在此情況下,產生的輸出檔案是 ASF 檔案, (.wma) 包含 MP3 媒體資料。 請注意,如果您使用此旗標,某些輸入資料流程屬性和容器類型可能不相容。
需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
標頭 | mfidl.h |