Show / Hide Table of Contents

    Solveig Multimedia logo


    SolveigMM ASF Multiplexer filter

    The ASF multiplexer filter implemented as a DirectShow renderer filter (file writer). It performs multiplexing input streams to an ASF file and writing output file to a specified path.

    Filter Interfaces IBaseFilter, IModuleConfig, ISpecifyPropertyPages, IFileSinkFilter, IMediaPosition, IMediaSeeking, IWMProfile
    Input Pin Media Types MEDIATYPE_Video, MEDIASUBTYPE_NULL
    MEDIATYPE_Audio, MEDIASUBTYPE_NULL
    Input Pin Interfaces IPin, IMemInputPin, IModuleConfig
    Output Pin Media Types MEDIATYPE_Stream, MEDIASUBTYPE_NULL
    Output Pin Interfaces IPin, IMemInputPin
    Filter CLSID CLSID_SMASFMuxFilter
    Property Page CLSID CLSID_SMASFMuxSettings,
    CLSID_SMASFMuxStatistic
    Executable SMM_ASFMuxer.ax
    Merit MERIT_DO_NOT_USE
    Filter Category CLSID_LegacyAmFilterCategory
    Declared in PropID_ASFMuxer.h

    Features

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

    • Index ASF checkbox - an option to append index to output file.
    • Treat input video as H264 check box. This should be enabled when you deal with AVC/H264 video streams. Also it is possible to change video stream's fourCC.
    • PlayReady conformance checkbox - produced stream would be PlayReady conformant.

    SolveigMM ASF Multiplexer 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 necessary properties.
    • Run the graph.

    To use programmatically not using property page:

    The following section describes the Parameter GUIDs declared in the PropID_ASFMuxer.h header file to be used for tuning the ASF Multiplexer DirectShow Filter by means of the IModuleConfig interface.

    The following table provides an overview of the Parameter GUIDs of ASF Multiplexer DirectShow Filter:

    Parameter GUID Value type Description
    SMASFMux_Flags VT_UI4 Sets/Gets multiplexing parameters
    SMASFMux_ResetFlags VT_UI4 Resets specified parameters.
    SMASFMux_VideoFOURCC VT_UI4 Specifies custom fourCC for video stream.
    SMASFMux_BFramesMode VT_I2 Sets the mode to handle B-frames in video.
    SMASFMux_IWMHeaderInfo3Ptr VT_BYREF | VT_UI1 Sets the IWMHeaderInfo3 interface.
    SMASFMux_ApplyProfile - Applies settings and makes a profile.
    SMASFMux_Language VT_BSTR Set the full path to of the log file.
    SMAT_LogPath VT_BSTR Set the full path to of the log file.
    SMASFMux_Statistics in - VT_BYREF | VT_UI1
    out - VT_I4
    Reads the processing statistics.
    SMASFMux_CurrentSize VT_BYREF | VT_UI1 Reads the processing statistics of whole file.

    SMAT_TrimList

    GUID:

    {51977F10-62C9-46ec-9350-D3CE65E1F34B}

    Description:

    Used to set/retrieve the trimming intervals list. It should be a combination of SMM_ASFMuxFlags.

    Type:

    VT_UI4 (ulVal)

    SMM_ASFMuxFlags Enumeration

        enum SMM_ASFMuxFlags
        {
            SMM_ASFMuxFlags_WriteIndex = 0x2,
            SMM_ASFMuxFlags_InAVC = 0x8,
            SMM_ASFMuxFlags_CountSize = 0x10,
            SMM_ASFMuxFlags_PlayReady = 0x20
        }
    

    Elements:

    SMM_ASFMuxFlags_WriteIndex

    Add index to output file.

    SMM_ASFMuxFlags_InAVC

    An input video stream is AVC/H264.

    SMM_ASFMuxFlags_CountSize

    Filter doesn't write output file to disk.

    SMM_ASFMuxFlags_PlayReady

    Filter produce PlayReady conformant output file.


    SMASFMux_ResetFlags

    GUID:

    {613F3C29-68BF-4468-BCBE-8F309BB3B45E}

    Description:

    Used to reset specified flags.Should be a combination of SMM_ASFMuxFlags.

    Type:

    VT_UI4 (ulVal)


    SMASFMux_VideoFOURCC

    GUID:

    {AC1A641A-D8B1-48cc-8161-142B3224A697}

    Description:

    Set custom fourCC for video stream.

    Type:

    VT_UI4 (ulVal)


    SMASFMux_BFramesMode

    GUID:

    {39F65152-4B2E-4486-AB2E-2211090ABC79}

    Description:

    Method of B-frames muxltiplexing. This method is used only when SMM_ASFMuxFlags_InAVC or SMM_ASFMuxFlags_PlayReady flag pecified. Should be a member of SMM_BFramesMode.

    Type:

    VT_I2 (iVal)

        enum SMM_BFramesMode
        {
            SMM_BFrames_USE_DUE = 0,
            SMM_BFrames_Join = 1
        }
    

    Elements:

    SMM_BFrames_USE_DUE

    B-frames' times are stored in Data Unit Extension.

    SMM_BFrames_Join

    B-frames are combined with other frames.


    SMASFMux_IWMHeaderInfo3Ptr

    GUID:

    {AC1A641A-D8B1-48cc-8261-142B3224A695}

    Description:

    Sets IWMHeaderInfo3 interface.

    Type:

    VT_BYREF | VT_UI1 (pbVal)


    SMASFMux_ApplyProfile

    GUID:

    {534D4153-464D-7578-5F41-70706C795072}

    Description:

    Applies settings to a profile. After this call it is possible to get an IWMProfile Interface(See Windows Media Format SDK Reference for details on interface).


    SMASFMux_Language

    GUID:

    {52A82089-2764-49c3-B288-B85C68FC164E}

    Description:

    Applies the language to exact pin. Query the desired pin for the IModuleConfig interface a then use this GUID to set the language ID. For details see the SMM Mux ASF sample application and Windows Media Format SDK Reference.

    Type:

    VT_BSTR (bstrVal)


    SMAT_LogPath

    GUID:

    {1F02279E-ECBF-4b22-9D9B-D595DEB6B463}

    Description:

    Set the full path to of the log file.

    Type:

    VT_BSTR (bstrVal)


    SMASFMux_Statistics

    GUID:

    {E41A5247-ADEE-4133-82C9-98300459C929}

    Description:

    Reads the processing statistics of video and audio streams. An array of 2 WM_WRITER_STATISTICS structures is used as an input parameter. The first element - a structure describing Video stream statistics and the second is for Audio. See Windows Media Format SDK reference for details on structure.

    Type:

    VT_BYREF | VT_UI1 (pbVal)


    SMASFMux_CurrentSize

    GUID:

    {6B6C20F5-22E5-40ac-B760-8F01C7423E15}

    Description:

    Reads the processing statistics of the file in general. A pointer to WM_WRITER_STATISTICS structure is used as an input parameter. See Windows Media Format SDK reference for details on structure.

    Type:

    VT_BYREF | VT_UI1 (pbVal)


    ©2005-2024 Solveig Multimedia. All rights reserved.

    Back to top Generated by DocFX