Media Writer Sink Writer ошибка E_NOINTERFACE (0x80004002)

Цель: записать видео (без звука) с веб - камеры как есть, то есть без перекодирования.

Текущая реализация заключается в использовании простой топологии, подобной следующей (номера узлов в скобках для справки при чтении журнала трассировки):

[Source (0)] -> [Tee (1)] -> (auto-added Decoder (2)) -> [EVR (3)]
                          \-> [Sink Writer (4)]

С использованием IMFMediaSession для обработки разрешения топологии (после привязки выхода EVR путем разрешения объекта Activation, как описано в MSDN - привязка выходов)

Если я вообще не добавляю Sink Writer - сессия работает нормально, производя вывод (предварительный просмотр видео) в указанном окне. Работает независимо от того, присутствует узел Tee или нет (как и ожидалось).

Проблема возникает, когда я пытаюсь включить Sink Writer в топологию.

Инициализация Sink Writer довольно минималистична. В основном только MFCreateSinkWriterFromURL() предоставляя имя выходного файла и IMFAttributes указание без преобразователей без аппаратных преобразований плюс низкая задержка и отсутствие дросселирования. Тип контейнера перекодировки указан как MPEG4 но результат не изменится, если этот параметр будет выведен из расширения имени файла (.mp4).

После создания Sink Writer к нему добавляется новый поток через AddStream() и тип мультимедиа веб-камеры непосредственно используется для указания типа мультимедиа вывода, а также в SetInputMediaType() вызов.

BeginWriting() вызывается для завершения инициализации Sink Writer, после чего он добавляется в узел с вызовом SetObject(),

Тройник затем подключает свой вторичный выход к узлу Sink Writer, и топология разрешена (успешно) и, вероятно, готова к работе.

Как только топология ставится в очередь во вновь созданный сеанс с MFSESSION_SETTOPOLOGY_NORESOLUTION флаг (вместе с MFSESSION_SETTOPOLOGY_IMMEDIATE) воспроизведение и запись должны начаться - это мое текущее понимание того, как оно должно работать.

Однако именно здесь я получаю событие медиа-сессии через Invoke() для типа события MESessionTopologySet с кодом ошибки 0x80004002!

Игра с атрибутами Sink Writer (с указанием пустых / заданных по умолчанию) не дала положительных результатов. Перемещение разрешения топологии до того, как я добавлю писателя, ничего не изменило. Определение первичного выходного потока для узла Tee как перехода к EVR также не помогло.

Отключение функции MS Red-Stone с помощью EnableFrameServerMode установлен в 0 не помогло

Сборка и запуск с помощью Windows SDK 10.0.10586 на рабочем столе Windows 10 Pro.


Ниже приведен журнал для mftrace для справки (пришлось немного подрезать его, чтобы уложиться в ограничение 30K):

PID, время TID (UTC)    TraceMessage
--------- --------------  ------------
...... удалено начало экономии места 8000,2ED0 21:51:35.64241 CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000001
...... перечисление оборудования и настройка клиентских фабрик 8000,2ED0 21:51:35.65757 CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000000
...... CoCreateInstance называет 8000,2ED0 21: 51: 35,66117 CMFActivateDetours::ActivateObject @000001B0B3BE3390 Новый MFT @000001B0B3BE3590
8000,2ED0 21:51:35,66119 CMFActivateDetours::ActivateObject @000001B0B3BE3390 Новый источник @000001B0B3BEFB80
8000,2ED0 21:51:35,66123 CMFMediaSourceDetours:: TracePD @ 000001B0B3BEFB80 поток 0 (ID 0): выбрано 1, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640; MF_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_ ДИАПАЗОН = 2; MF_MT_FRAME_RATE = 128849018881 (30,1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MIN = 128849018881 (30,1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,2ED0 21:51:35.66150 CMFActivateDetours::ActivateObject @000001B0B3BE3390 Новый MFT @000001B0B3BE3590
8000,2ED0 21:51:35.66150 CMFActivateDetours::ActivateObject @000001B0B3BE3390 Новый источник @000001B0B3BEFB80
8000,2ED0 21:51:35,66153 CMFMediaSourceDetours:: TracePD @ 000001B0B3BEFB80 поток 0 (ID 0): выбрано 1, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38,33229 CMFActivateDetours::ActivateObject @000001B0B3BE3390 Новый MFT @000001B0B3BE3590
8000,2ED0 21:51:38.33229 CMFActivateDetours::ActivateObject @000001B0B3BE3390 Новый источник @ 000001B0B3BEFB80 8BB 0BB 0BDBDB050BDBBBBBBBBBBBBBBBBDBDBDBDBDBDBDBDBDB0BDBFBDBDBDBFBDBDBDB0B0B0BDBFBDB0BDBBRBBBBBBMBBBBBBTMTMBBBBBBTMBTFBTBTBFBTBFBTBFBTBTFMBFBTBTFLFM.CMFActivateDetours::ActivateObject @000001B0B3BE3390.MB0.0.BDB.50.Ru.Ru.S.S.S.S.S. 1, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.33272 CMFReadWriteExportDetours::MFCreateSinkWriterFromURL @ URL: "C:\ TMP \ RRY-сырец.mp4', потоковый @0000000000000000, MF_SINK_WRITER_DISABLE_THROTTLING=1;MF_TRANSCODE_CONTAINERTYPE=MFTranscodeContainerType_MPEG4;MF_READWRITE_DISABLE_CONVERTERS=1;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1;MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS=0
8000,2ED0 21:51:38,33289 COle32ExportDetours::CoCreateInstance @ Создан {48E2ED0F-98C2-4A37-BED5-166312DDD83F} Фабрика классов MFReadWrite (C:\Windows\System32\mfreadwrite.dll) @000001B0B234EFA0 - отслеживаемые интерфейсы: IMFReadWriteClassFactory @000001B0B234EFA0FFF0R0DFF_RDFF0R0RF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF_DF 000001B0B234EFA0 URL: 'c:\tmp\rry-raw.mp4', MF_SINK_WRITER_DISABLE_THROTTLING=1;MF_TRANSCODE_CONTAINERTYPE=MFTranscodeContainerType_MPEG4;MF_READWRITE_DIS _CONVERTERS=1;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1;MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS=0
8000,2ED0 21:51:38.33292 CMFPlatExportDetours::MFCreate \ 8: mp:\000:\ 2ED0 21: 51: 38,33315 CMFReadWriteClassFactoryDetours::HandleObject @ Новая раковина писателя @000001B0B3C01770
8000,2ED0 21:51:38,33322 CMFSinkWriterDetours::AddStream @000001B0B3C01770 Index потока 0x0, MT: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640; MF_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_RANGE = 2; MF_MT_FRAME_RATE = 128849018881 (30,1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MIN = 128849018881 (30,1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,2ED0 2 1: 51: 38,33326 CMFSinkWriterDetours::SetInputMediaType @000001B0B3C01770 Index поток 0x0, MT: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.33379 COle32ExportDetours::CoCreateInstance @ Создано {A22C4EBE2_FB2-C3EB-C3EB-C3SB-F2E-C3EBEB-FB-FB-FB-FB-FB-FB-FBF-CWF-FB260-RU-C3B-F2B-7-RU-C3-C3-F2-C6-F5-RU-C3S-F2SB2-C6-F2S-F2S2S2S2S2S2S для Windows XP \System32\mfmp4srcsnk.dll) @000001B0B234EFA0 - отслеживаемые интерфейсы: 
8000,2ED0 21:51:38.33423 CMFByteStreamDetours::GetCapabilities @000001B0B3BE0520 Capabili связи 0x00000806
8000,2ED0 21:51:38.33434 CMFSinkWriterDetours::BeginWriting @000001B0B3C01770 Начал писать 8000,2ED0 21:51:38.33538 COle32ExportDetours::CoCreateInstance @ Новый MFT @ 000001B0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00,00 00 00 80 3f 
8000,2ED0 21:51:38.33539 COle32ExportDetours::CoCreateInstance @ Created {E474E05A-AB65-4F6A-827C-218B1BAAF31F} MF-видеомиксер (C:\Windows\System32\evr.dll) @000001B0B3C24730 - интерфейсы 000001B0BcedC IMFTransform @000001B0B3C24730, 
8000,2ED0 21:51:38.38105 COle32ExportDetours::CoCreateInstance @ Создано {A0A7A57B-59B2-4919-A694-ADD0A526C373} Бесшумный оконный презентатор (интерфейсы C:\ Windows \ System292: 0): 8000,2ED0 21: 51: 38.38107 COle32ExportDetours:: CoCreateInstance @ Created {98455561-5136-4D28-AB08-4CEE40EA2781} MF Video Presenter (C:\Windows\System32\evr.dll) @000001B0B3C27390 - отслеживаемые интерфейсы: 8000,2ED0 21: 51: 38.38111 CMFTransformDetours::ProcessMessage @000001B0B3C24730 Тип сообщения =0x00000002 MFT_MESSAGE_SET_D3D_MANAGER, param=B3C28090
8000,2ED0 21:51:38.39477 CMFActivateDetours::ActivateObject @000001B0B3C00430 Новый приемник @000001B0B3C29950
8000,2ED0 21:51.350B050505050505050BD5050BD5050BD5050BD5050B5050B505050505050505050505050505050505050XXXXXXXXXXXX2050345050N5050_00000000000000000000000000000000000000000000000000000000000000BD в формате: M50_MESSAGE_SET_D3D_MANAGER CMFTransformDetours::SetInputType @000001B0B3C24730 Преуспето МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.40952 CMFTransformDetours::SetInputTyp е @000001B0B3C2B0F0 Преуспето МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38,40986 CMFTransformDetours::SetInputType @000001B0B3C24730 Преуспето МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.40988 CMFTransformDetours::SetOutputType @000001B0B3C2B0F0 Преуспето МТ: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
...... присоединить управление часами и скоростью 8000,2ED0 21:51:38.41105 CTopologyHelpers::Trace @000001B0B3C2A8E0 >>>>>>>>>>>>> Топология ввода 8000,2ED0 21:51:38.41106 CTopologyHelpers::TraceNode @ Узел 0 @000001B0B3C00430 ID:1F4000000001, 0 входов, выходов 1, тип 1, MF_TOPONODE_MARKIN_HERE=1;MF_TOPONODE_MARKOUT_HERE=1;MF_TOPONODE_MEDIASTART=0 (0,0);MF_TOPONODE_SOURCE=@000001B0B3BEFB80;MF_TOPONODE_PRESENTATION_DESCRIPTOR=@000001B0B3BF45A0;MF_TOPONODE_STREAM_DESCRIPTOR=@000001B0B3BF4170
8000,2ED0 21:51:38.41107 CTopologyHelpers::TraceObject @ Source @000001B0B3BEFB80 {00000000-0000-0000-0000-000000000000} (C:\Windows\SYSTEM32\MFCORE.DLL), MFMEDIASOURCE_CH000000000000000051: 38,41109 CTopologyHelpers::TraceStream @ Выходной поток 0, подключенные к узлу @000001B0B3C2B030 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8002002: 0300: код: 030, код: 2: 000, код: 2: 000, код: 2: 000, код: 2: 000, код: 2: 050, код: 2: 050, код: 2: 050, код: 2: 050, код: 2: 050, код: 0, код: 2: 0, код: 2: 0, код: 2: 0, код: 2: 0, код: 2: 0, код: 2: 0, 2-й, 2-й, 2-й, 2-й, 2-й., MF_TOPONODE_PRIMARYOUTPUT = 0 8000,2ED0 21:51:38.41109 CTopologyHelpers::TraceObject @ Tee @0000000000000000 {00000000-0000-0000-0000-000000000000} (нулевой), (нулевой)
8000,2ED0 21:51:38.411: CT:: TraceStream @ 0 входного потока, подключенный к узлу @ 000001B0B3C00430 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640; М F_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_RANGE = 2; MF_MT_FRAME_RATE = 128849018881 (30,1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MIN = 128849018881 (30,1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,2ED0 21: 51: 38,41112 CTopologyHelpers::TraceStream @ Выходной поток 0, подключенные к узлу @000001B0B3C2ADB0 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640; MF_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_RANGE = 2; MF_MT_FRAME_RATE = 128849018881 (30,1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MIN = 128849018881 (30, 1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,2ED0 21: 51: 38,41114 CTopologyHelpers::TraceStream @ Выходной поток 1, подключенный к узлу @000001B0B3C29130 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.41115 CTopologyHelpers::TraceNode @ Node 2 @000001B0B3C2ACF0 ID:1F4000000002, 1 вход, 0 выходов, тип е 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0;MF_TOPONODE_TRANSFORM_OBJECTID={D23E6477-B104-4707-81CB-E1CA19A07016};{B8AA3129-DFC9-423A-8ACD-1D82850A3D1F}=@000001B0B3C27370
8000,2ED0 21:51:38,41115 CTopologyHelpers::TraceObject @ Sink @000001B0B3C2A048 {D23E6477-B104-4707-81CB-E1CA19A07016} (C:\Windows\SYSTEM32\MF.dll), (ноль)
8000,2ED0 21:51:38.41115 CTopologyHelpers::TraceStream @ Соединен входной поток 0, к узлу @000001B0B3C2ADB0 поток 0, MT: >
8000,2ED0 21:51:38.41116 CTopologyHelpers::TraceNode @ Node 3 @000001B0B3C2ADB0 ID:1F4000000008, 1 вход, 1 выход, тип 2, MF_TOPONODE_TRIDFORM_B0_082DF_082DF_08282BJ -D03FEF084AF8}
8000,2ED0 21:51:38.41116 CTopologyHelpers::TraceObject @ MFT @000001B0B3C2B0F0 {CF862982-23B0-4E3D-8C76-D03FEF084AF8} (C:\Windows\SYSTEM32\MFCORE_F_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0 до_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0 в_о_ до_о_о_о_о_о_о_ до_о_о_о_ до_ошир.дать_ф.д._ф.:51:38.41118 CTopologyHelpers::TraceStream @ Входной поток 0, подключенный к узлу @000001B0B3C2B030, поток 0, MT: MF_MT_FRAME_SIZE = 13743 89534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.41120 CTopologyHelpers::TraceStream @ Выходной поток 0, подключен к узлу @ 000001B0B3C2ACF0 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,2ED0 21:51:38.41120 CTopologyHelpers::TraceNode @ Узел 4 @000001B0B3C29130 ID:1F4000000004, 1 входы, выходы 0, тип 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0
8000,2ED0 21:51:38,41120 Атрибут CMFTopologyNodeDetours::GetGUID @000001B0B3C29130 не найден 2ED0 21:51:38.41121 CTopologyHelpers::TraceStream @ Входной поток 0, подключенный к узлу @000001B0B3C2B030, поток 1, MT:> 8000,2ED0 21:51:38.41121 CTopologyHelpers::Trace @000001B0B3C2A8E0 MF_TOPOLOGY_STED 0 0 0 0 = 0 21:51:38.41121 CTopologyHelpers::Trace @000001B0B3C2A8E0 >>>>>>>>>>>> Топология с очередями 8000,229C 21:51:38.41144 CTopologyHelpers::TraceNode @ Node 0 @000001B0B3C00430 ID:1F4000000001, 0 входов, 1F4000000001, 0 входов выходов, тип 1, MF_TOPONODE_MARKIN_HERE=1;MF_TOPONODE_MARKOUT_HERE=1;MF_TOPONODE_MEDIASTART=0 (0,0);MF_TOPONODE_SOURCE=@000001B0B3BEFB80;MF_TOPONODE_PRESENTATION_DESCRIPTOR=@000001B0B3BF45A0;MF_TOPONODE_STREAM_DESCRIPTOR=@000001B0B3BF4170;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1
8000,229C 21:51:38.41145 CTopologyHelpers::TraceObject @ Source @000001B0B3BEFB80 {00000000-0000-0000-0000-000000000000} (C:\Windows\SYSTEM32\MFCORE.DLL), MFMEDIASOURCE_CHARACTERISTICS=0x0000C 21:51 8 000 38.41147 CTopologyHelpers::TraceStream @ Выходной поток 0, подключенные к узлу @000001B0B3C2B030 потока 0, MT: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,229C 21:51:38,41147 CTopologyHelpers::TraceNode @ Узел 1 @000001B0B3C2B030 ID:1F4000000003, 1 входа, 2 выхода, тип 3, MF_TOPONODE_PRIMARYOUTPUT=0;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1
8000 229C 21:51:38.41148 CTopologyHelpers::TraceObject @ Tee @0000000000000000 {00000000-0000-0000-0000-000000000000} (ноль), (ноль)
8000,229C 21:51:38.41149 CTopologyHelpers::TraceStream @ 0 входного потока, подключенный к узлу @ 000001B0B3C00430 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240); MF_MT_AVG_BITRATE = 36864000; MF_MT_YUV_MATRIX = 2; MF_MT_MAJOR_TYPE = MEDIATYPE_Video; MF_MT_VIDEO_LIGHTING = 3; MF_MT_D EFAULT_STRIDE = 640; MF_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_RANGE = 2; MF_MT_FRAME_RATE = 128849018881 (30,1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MIN = 128849018881 (30,1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,229C 21: 51: 38,41151 CTopologyHelpers::TraceStream @ Выходной поток 0, подключенный к узлу @000001B0B3C2ADB0 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640; MF_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_RANGE = 2; MF_MT_FRAME_RATE = 128849018881 (30, 1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MI N = 128849018881 (30,1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,229C 21: 51: 38,41152 CTopologyHelpers::TraceStream @ Выходной поток 1, подключенный к узлу @000001B0B3C29130 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,229C 21:51:38.41153 CTopologyHelpers::TraceNode @ Node 2 @000001B0B3C2ACF0 ID:1F4000000002, 1 дюйм UTS, 0 выходов, тип 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0;MF_TOPONODE_TRANSFORM_OBJECTID={D23E6477-B104-4707-81CB-E1CA19A07016};{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1;{B8AA3129-DFC9-423A-8ACD-1D82850A3D1F}=@000001B0B3C27370
8000,229C 21:51:38.41153 CTopologyHelpers::TraceObject @ Sink @000001B0B3C2A048 {D23E6477-B104-4707-81CB-E1CA19A07 \ \ \ \ \ \ \ \ \ \\\\\ \\\ Windows.dll (SYSTEM \ NF) \ N.dll (SYSTEM \ N \ N32) (C) -системы (C): Windows (N): C3232 (NF) \ N.dll (SYSTEM \ N \ N); \ n \ n32.dll) 8000,229C 21:51:38.41153 CTopologyHelpers::TraceStream @ Входной поток 0, подключенный к узлу @000001B0B3C2ADB0 поток 0, MT: >
8000,229C 21:51:38.41154 CTopologyHelpers::TraceNode @ Node 3 @000001B0B3C2ADB0 ID:1F4 1 вход, 1 выход, тип 2, MF_TOPONODE_TRANSFORM_OBJECTID={CF862982-23B0-4E3D-8C76-D03FEF084AF8};{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1
8000,229C 21: Мозговой магистрали 38: Маунт-траектория 38: Маунт-трафик @000001B0B3C2B0F0 {CF862982-23B0-4E3D-8C76-D03FEF084AF8} (C:\Windows\SYSTEM32\MFCORE.DLL), MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE=1;{9C27891A-ED7A-40242 = 8E 800A1 = 800B = 800B = 800B = 800B = 800B = 800B = 800B = 080800B = 00,229C 21:51:38.41156 CTopologyHelpers::TraceStream @ 0 входного потока, подключенный к узлу @000001B0B3C2B030 потока 0, МТ: MF_MT_FRAME_SIZE=1374389534960 (320,240);MF_MT_AVG_BITRATE=36864000;MF_MT_YUV_MATRIX=2;MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_VIDEO_LIGHTING=3;MF_MT_DEFAULT_STRIDE=640;MF_MT_VIDEO_CHROMA_SITING=6;MF_MT_AM_FORMAT_TYPE=FORMAT_VIDEOINFO2;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_VIDEO_NOMINAL_RANGE=2;MF_MT_FRAME_RATE=128849018881 (30,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_FRAME_RATE_RANGE_MIN=128849018881 (30,1);MF_MT_SAMPLE_SIZE=153600;MF_MT_VIDEO_PRIMARIES=2;MF_MT_INTERLACE_MODE=2;MF_MT_FRAME_RATE_RANGE_MAX=128849018881 (30,1);MF_MT_SUBTYPE=MFVideoFormat_YUY2
8000,229C 21:51:38,41158 CTopologyHelpers::TraceStream @ Выходной поток 0, подключенные к узлу @ 000001B0B3C2ACF0 потока 0, МТ. _STRIDE = 640; MF_MT_VIDEO_CHROMA_SITING = 6; MF_MT_AM_FORMAT_TYPE = FORMAT_VIDEOINFO2; MF_MT_FIXED_SIZE_SAMPLES = 1; MF_MT_VIDEO_NOMINAL_RANGE = 2; MF_MT_FRAME_RATE = 128849018881 (30,1); MF_MT_PIXEL_ASPECT_RATIO = 4294967297 (1,1); MF_MT_ALL_SAMPLES_INDEPENDENT = 1; MF_MT_FRAME_RATE_RANGE_MIN = 128849018881 (30,1); MF_MT_SAMPLE_SIZE = 153600; MF_MT_VIDEO_PRIMARIES = 2; MF_MT_INTERLACE_MODE = 2; MF_MT_FRAME_RATE_RANGE_MAX = 128849018881 (30,1); MF_MT_SUBTYPE = MFVideoFormat_YUY2 8000,229C 21: 51: 38,41159 CTopologyHelpers::TraceNode @ Узел 4 @000001B0B3C29130 ID:1F4000000004, 1, 0 входов выходы, тип 0, MF_TOPONODE_STREAMID=0;MF_TOPONODE_NOSHUTDOWN_ON_REMOVE=0;{9C27891A-ED7A-40E1-88E8-B22727A024EE}=1
8000,229C 21:51:38.41159 CMFTopologyNodeDetours::GetGUID @000001B0B3C29130 атрибут не найден guidKey = MF_TOPONODE_TRANSFORM_OBJECTID
8000,229C 21:51:38.41159 CTopologyHelpers::TraceObject @ UnknownType @0000000000000000 {00000000-0000-0000-0000-000000000000} ((ноль)), (ноль)
8000,229C 21:51:38.41159 CTopologyHelpers::TraceStream @ Входной поток 0, подключен к узлу @000001B0B3C2B030, поток 1, MT: >
8000,229C 21:51:38.41159 CTopologyHelpers::Trace @000001B0B3C2A8E0 MF_TOPOLOGY_RESOLUTION_STATUS = 0
8000,229C 21:51:38.4010B0S0: 00B0B0B0: 

1 ответ

Решение

Sink Writer не является допустимым объектом, который должен быть указан для выходного узла. Единственными двумя действительными объектами для этого являются IMFStreamSink а также IMFActivate,

Однажды IMFStreamSink был правильно создан и настроен, все остальное начало работать как шарм.

Шаги для создания IMFStreamSink для использования в узле SetObject() вызов:

  1. Создайте IMFByteStream (например, через MFCreateFile())
  2. Создайте IMFMediaSink на основании этого IMFByteStream и настроить его (описано в MSDN)
  3. С помощью GetStreamSinkById() получить IMFStreamSink объект - это тот, который используется в узле SetObject() вызов!
Другие вопросы по тегам