Show / Hide Table of Contents

    Solveig Multimedia logo


    SolveigMM MKV Splitter filter

    The MKV splitter filter implemented as a DirectShow filter. It can parse Matroska or WEB Matroska files

    Filter Interfaces IBaseFilter, IFileSinkFilter, IModuleConfig, IAMFilterMiscFlags, ISpecifyPropertyPages
    Input Pin Media Types MEDIATYPE_Stream, MEDIASUBTYPE_NULL
    Input Pin Interfaces IPin, IMemInputPin
    Output Pin Media Types MEDIATYPE_Video, MEDIASUBTYPE_NULL;
    MEDIATYPE_Audio, MEDIASUBTYPE_NULL;
    Output Pin Interfaces IPin, IMemInputPin
    Filter CLSID CLSID_SMM_MKV_MUXER
    Property Page CLSID Properties - {1DE3C022-610A-4528-8B8A-0F00BC997E88},
    About - {C319D94C-5F60-4a76-9B8A-2836DD99CD81}
    Executable SMM_MKVSplitter.ax
    Merit MERIT_DO_NOT_USE
    Filter Category CLSID_LegacyAmFilterCategory
    Declared in PropID_MatroskaDemuxer.h

    Features

    The filter's property page is shown on fig. 1. It includes the following control elements:

    • Annex B Output checkbox - Enables the AnnexB output stream's format for AVC/H264 video.
    • Separate pins checkbox - makes one pin for each stream contained in a file.
    • A table with the information about file's chapters (if any).

    SolveigMM MKV Splitter filter

    Usage

    NOTE: All changes must be applied (using either APPLY button in Graph Editor or Apply method of IPropertyPage interface) to take place, the default values are used otherwise. To use the filter manually:

    • Add filter to a graph.
    • Build the graph.
    • Set desired properties for each input streams and the type of output stream.
    • Run the graph.

    To use programmatically not using property page:

    The following section describes the Parameter GUIDs declared in the PropID_MatroskaDemuxer.h header file to be used for tuning the SolveigMM MKV Splitter Filter by means of the IModuleConfig interface.

    The following table provides an overview of the Parameter GUIDs of SolveigMM Matroska Splitter DirectShow Filter:

    Parameter GUID Value type Description
    SMMKV_H264_ANNEXB VT_BOOL Sets/Gets the compatibility with AVC ANNEX B for AVC/H264 video
    SMMKV_SEPARATE_PINS VT_BOOL Enables separate pin for each stream.
    SMMV_SETPOSITION VT_I8 Sets current position(in REFERENCE_TIME).
    SMMKV_CHAPTERS VT_UINT
    VT_PTR
    Sets tracks properties.
    SMMKV_DOCTYPE VT_I4 Gets current filte's type.

    SMMKV_H264_ANNEXB

    GUID:

    {6F1A0CF5-46C1-4232-815A-17881C912285}

    Description:

    Used to get/set the compatibility with AVC ANNEX B for AVC/H264 video

    Type:

    VT_BOOL (boolVal)


    SMMKV_SEPARATE_PINS

    GUID:

    {56C387DF-68DE-47f4-8135-C8C4EF852B37}

    Description:

    Forces the filter to create one separate pin for each output stream.

    Type:

    VT_BOOL (boolVal)


    SMMV_SETPOSITION

    GUID:

    {04FC1B8B-4642-4022-9269-C9361895CD98}

    Description:

    Sets current position.

    Type:

    VT_I8 (llVal)


    SMMKV_DOCTYPE

    GUID:

    {90B2F4C2-0B5F-4834-92A9-8AC9F086E681}

    Description:

    Gets the type of file. Returns a value of SMMKV_DOCTYPE_ENUM type.

    Type:

    VT_I4 (lVal)


    SMMKV_CHAPTERS

    GUID:

    {AE39E38E-03DC-4df9-B620-7EF686373239}

    Description:

    Used to read information about file's chapters.

    Type:

    VT_UINT (uintVal)

    VT_PTR (pbVal)

    Usage:

    1. Read the number of chapters with VT_UINT.
    2. Allocate memory block enough to get the information( Number of chapters * size of ChapterEntry structure ).
    3. Pass the memory pointer as a pbVal with VT_PTR.
    4. Use the pointer as an array of ChapterEnty.

    ChapterEntry Structure

        struct ChapterEntry {
            BSTR            name;
            REFERENCE_TIME  tStart;
            REFERENCE_TIME  tStop;
        }
    

    Members:

    name

    Chapter's name.

    tStart

    Chapter's start position.

    tStrop

    Chapter's end position.


    ©2005-2024 Solveig Multimedia. All rights reserved.

    Back to top Generated by DocFX