Как определить выходной контакт демультиплексора mpeg2 для KLV (метаданные) - PullRequest
0 голосов
/ 11 июля 2019

В Directshow MPEG2 Demultiplexer можно создавать выходные выводы как в видео, например:

Это взято с вывода вывода видео

            AM_MEDIA_TYPE pMediaType;

    MPEG2VIDEOINFO    video_info;
    interface IMPEG2StreamIdMap    *StreamIdMapVideo;

    memset(&pMediaType, 0x0, sizeof(pMediaType));
    memset(&video_info, 0x0, sizeof(MPEG2VIDEOINFO));

    //Type settings for the output stream
    pMediaType.majortype = MEDIATYPE_Video;
    pMediaType.subtype = MEDIASUBTYPE_MPEG2_VIDEO;
    pMediaType.formattype = FORMAT_MPEG2Video;

    //not sure exactly what I need these for
    pMediaType.bFixedSizeSamples = FALSE;
    pMediaType.bTemporalCompression = TRUE;
    pMediaType.lSampleSize = 0;
    pMediaType.cbFormat = sizeof(MPEG2VIDEOINFO);

    pMediaType.pbFormat = (BYTE *)&video_info;

    CComPtr<IMpeg2Demultiplexer> pDemuxInterface;
    hr = pElecardMpegPushDemux->QueryInterface(IID_IMpeg2Demultiplexer, (void **)&pDemuxInterface);
    IPin    *pDemuxKlvOutPin;
    hr = pDemuxInterface->CreateOutputPin(&pMediaType, L"KLV", &pDemuxKlvOutPin);

Я хочу создать PID 258 как вывод вывода метаданных KLV Как такое можно определить?

...