Click here to Skip to main content
15,861,168 members
Articles / Desktop Programming / Windows Forms

BSEtunes

Rate me:
Please Sign up or sign in to vote.
4.67/5 (11 votes)
24 Apr 2010CPOL4 min read 64.2K   4.3K   58  
BSEtunes is a MySQL based, full manageable, networkable single or multiuser jukebox application
//Widows Media Format Functions
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
//  PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER 
//  REMAINS UNCHANGED.
//
//  Email:  yetiicb@hotmail.com
//
//  Copyright (C) 2002-2004 Idael Cardoso. 
//

using System;
using System.Runtime.InteropServices;

namespace BSE.Platten.Audio.WMFSDK
{
	/// <summary>
	/// Helper class that define the Windows Media Format Functions and constants
	/// </summary>
	public sealed class WM
	{
		private WM() {}

    [DllImport("WMVCore.dll", EntryPoint="WMCreateReader",  SetLastError=true,
     CharSet=CharSet.Unicode, ExactSpelling=true,
     CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateReader( IntPtr pUnkReserved,
                                              WMT_RIGHTS dwRights,
                                              [Out, MarshalAs(UnmanagedType.Interface)] out IWMReader ppReader);
    
    [DllImport("WMVCore.dll", EntryPoint="WMCreateSyncReader",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateSyncReader(IntPtr pUnkCert,
                                                 WMT_RIGHTS dwRights,
                                                 [Out, MarshalAs(UnmanagedType.Interface)] out IWMSyncReader ppSyncReader);
    
    [DllImport("WMVCore.dll", EntryPoint="WMCreateSyncReader",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateProfileManager( [Out, MarshalAs(UnmanagedType.Interface)] out IWMProfileManager  ppProfileManager );

    [DllImport("WMVCore.dll", EntryPoint="WMCreateEditor",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateEditor(
		[Out, MarshalAs(UnmanagedType.Interface)] out IWMMetadataEditor ppEditor);

    [DllImport("WMVCore.dll", EntryPoint="WMCreateIndexer",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateIndexer([Out, MarshalAs(UnmanagedType.Interface)] out IWMIndexer  ppIndexer);
    
    [DllImport("WMVCore.dll", EntryPoint="WMCreateWriter",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateWriter(IntPtr pUnkReserved, [Out, MarshalAs(UnmanagedType.Interface)] out IWMWriter ppWriter);


    [DllImport("WMVCore.dll", EntryPoint="WMCreateWriterFileSink",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateWriterFileSink([Out, MarshalAs(UnmanagedType.Interface)] out IWMWriterFileSink  ppSink);

    [DllImport("WMVCore.dll", EntryPoint="WMCreateWriterNetworkSink",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateWriterNetworkSink([Out, MarshalAs(UnmanagedType.Interface)] out IWMWriterNetworkSink ppSink);

    [DllImport("WMVCore.dll", EntryPoint="WMCreateWriterPushSink",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCreateWriterPushSink([Out, MarshalAs(UnmanagedType.Interface)] out IWMWriterPushSink ppSink);

    [DllImport("WMVCore.dll", EntryPoint="WMIsAvailableOffline",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMIsAvailableOffline( [In, MarshalAs(UnmanagedType.LPWStr)] string pwszURL,
                                                    [In, MarshalAs(UnmanagedType.LPWStr)] string pwszLanguage,
                                                    [Out, MarshalAs(UnmanagedType.Bool)] out bool pfIsAvailableOffline);

    [DllImport("WMVCore.dll", EntryPoint="WMIsContentProtected",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMIsContentProtected([In, MarshalAs(UnmanagedType.LPWStr)] string pwszFileName,
                                                   [Out, MarshalAs(UnmanagedType.Bool)] out bool pfIsProtected );

    [DllImport("WMVCore.dll", EntryPoint="WMValidateData",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMValidateData( [In, MarshalAs(UnmanagedType.LPArray)] byte[] pbData,
                                              [In, Out] ref uint pdwDataSize );

    [DllImport("WMVCore.dll", EntryPoint="WMCheckURLExtension",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCheckURLExtension( [In, MarshalAs(UnmanagedType.LPWStr)] string pwszURL);

    [DllImport("WMVCore.dll", EntryPoint="WMCheckURLScheme",  SetLastError=true,
       CharSet=CharSet.Unicode, ExactSpelling=true,
       CallingConvention=CallingConvention.StdCall)] 
    private static extern int WMCheckURLScheme([In, MarshalAs(UnmanagedType.LPWStr)] string pwszURLScheme);

    /// <summary>
    /// Wraps the WMWMCreateReader function
    /// </summary>
    /// <param name="Rights">Indicates the desired operation. See WMF SDK documentation</param>
    /// <returns>The reader object</returns>
    public static IWMReader CreateReader(WMT_RIGHTS Rights)
    {
      IWMReader res = null;
      Marshal.ThrowExceptionForHR(WMCreateReader(IntPtr.Zero, Rights, out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMCreateSyncReader fucntion
    /// </summary>
    /// <param name="Rights">Indicates the desired operation. See WMF SDK documentation</param>
    /// <returns>The reader object</returns>
    public static IWMSyncReader CreateSyncReader(WMT_RIGHTS Rights)
    {
      IWMSyncReader  res = null;
      Marshal.ThrowExceptionForHR(WMCreateSyncReader(IntPtr.Zero, Rights, out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMCreateProfileManger function
    /// </summary>
    /// <returns>The profile manager object</returns>
    public static IWMProfileManager CreateProfileManager()
    {
      IWMProfileManager res = null;
      Marshal.ThrowExceptionForHR(WMCreateProfileManager(out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMCreateEditor function
    /// </summary>
    /// <returns>The meta editor object</returns>
    public static IWMMetadataEditor CreateEditor()
    {
      IWMMetadataEditor res = null;
      Marshal.ThrowExceptionForHR(WMCreateEditor(out res));
      return res;
    }
    
    /// <summary>
    /// Wraps the WMCreateIndexer function
    /// </summary>
    /// <returns>The indexer object</returns>
    public static IWMIndexer CreateIndexer()
    {
      IWMIndexer res = null;
      Marshal.ThrowExceptionForHR(WMCreateIndexer(out res));
      return res;
    }
    
    /// <summary>
    /// Wraps the WMCreateWriter function
    /// </summary>
    /// <returns>The writer object</returns>
    public static IWMWriter CreateWriter()
    {
      IWMWriter res = null;
      Marshal.ThrowExceptionForHR(WMCreateWriter(IntPtr.Zero, out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMCreateWriterFileSink function
    /// </summary>
    /// <returns>The file sink object</returns>
    public static IWMWriterFileSink CreateWriterFileSink()
    {
      IWMWriterFileSink res = null;
      Marshal.ThrowExceptionForHR(WMCreateWriterFileSink(out res));
      return res;
    }
    
    /// <summary>
    /// Wraps the WMCreateWriterNetworkSink function
    /// </summary>
    /// <returns>The network sink object</returns>
    public static IWMWriterNetworkSink CreateWriterNetworkSink()
    {
      IWMWriterNetworkSink res = null;
      Marshal.ThrowExceptionForHR(WMCreateWriterNetworkSink(out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMCreateWriterPushSink function
    /// </summary>
    /// <returns>The writer push sink object</returns>
    public static IWMWriterPushSink CreateWriterPushSink()
    {
      IWMWriterPushSink res = null;
      Marshal.ThrowExceptionForHR(WMCreateWriterPushSink(out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMIsAvailableOffline function
    /// </summary>
    /// <param name="URL">URL to be checked</param>
    /// <param name="Language">Wide-character null-terminated string containing the 
    /// RFC 1766-compliant language ID specifying which language is desired for playback.
    /// See the WMF SDK for details.</param>
    /// <returns>True if URL can be played offline, False otherwise.</returns>
    public static bool IsAvailableOffline( string URL, string Language)
    {
      bool res = false;
      Marshal.ThrowExceptionForHR(WMIsAvailableOffline(URL, Language, out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMIsContentProtected function
    /// </summary>
    /// <param name="FileName">Name of the file to check</param>
    /// <returns>True if it is protected, False otherwise.</returns>
    public static bool IsContentProtected(string FileName)
    {
      bool res = false;
      Marshal.ThrowExceptionForHR(WMIsContentProtected(FileName, out res));
      return res;
    }

    /// <summary>
    /// Wraps the WMValidateData. 
    /// Raise a CComException if data don't represent a valid ASF content
    /// </summary>
    /// <param name="Data">Buffer to check. The minimun buffer size is returned by 
    /// <see cref="Yeti.WMFSdk.WM.ValidateDataMinBuffSize"/>
    /// must be the beggining of the ASF stream</param>
    public static void ValidateData( byte[] Data)
    {
      uint DataSize = (uint)Data.Length;
      Marshal.ThrowExceptionForHR(WMValidateData(Data, ref DataSize));
    }

    /// <summary>
    /// Minimum buffer size to pass to <see cref="Yeti.WMFSdk.WM.ValidateData"/>
    /// </summary>
    public static uint ValidateDataMinBuffSize
    {
      get
      {
        uint DataSize = 0;
        Marshal.ThrowExceptionForHR(WMValidateData(null, ref DataSize));
        return DataSize;
      }
    }

    /// <summary>
    /// Wraps the WMCheckURLExtension
    /// </summary>
    /// <param name="URL">URL or file name to chekc</param>
    /// <returns>True if the specified fyle type can be opened by WMF objects. False otherwise</returns>
    public static bool CheckURLExtension( string URL)
    {
      return WMCheckURLExtension(URL) == 0; //S_OK;
    }

    /// <summary>
    /// Wraps the WMCheckURLScheme functions. Examines a network protocol 
    /// and compares it to an internal list of commonly used schemes.
    /// </summary>
    /// <param name="URLScheme">URL to check</param>
    /// <returns>True is it is a valid protocol scheme. False otherwise</returns>
    public static bool CheckURLScheme(string URLScheme)
    {
      return WMCheckURLScheme(URLScheme) == 0; 
    }
    
    private static IWMProfileManager m_ProfileManager = null;

    /// <summary>
    /// Static profile manager object. Use this property instead of calling
    /// <see cref="Yeti.WMFSdk.WM.CreateProfileManger"/> because creating and 
    /// realeasing profile managers can impact the performance.
    /// </summary>
    public static IWMProfileManager ProfileManager
    {
      get
      {
        if (m_ProfileManager == null)
        {
          m_ProfileManager = CreateProfileManager();
          IWMProfileManager2 pm2 = (IWMProfileManager2)m_ProfileManager;
          pm2.SetSystemProfileVersion(WMT_VERSION.WMT_VER_9_0);
        }
        return m_ProfileManager;
      }
    }

    //Consts.
    public const int NS_E_NO_MORE_SAMPLES = unchecked((int)0xC00D0BCF);
    public const int ASF_E_NOTFOUND = unchecked((int)0xC00D07F0);
    public const uint g_dwWMSpecialAttributes = 20;
    public const string g_wszWMDuration = "Duration";
    public const string g_wszWMBitrate = "Bitrate";
    public const string g_wszWMSeekable = "Seekable";
    public const string g_wszWMStridable = "Stridable";
    public const string g_wszWMBroadcast = "Broadcast";
    public const string g_wszWMProtected = "Is_Protected";
    public const string g_wszWMTrusted = "Is_Trusted";
    public const string g_wszWMSignature_Name = "Signature_Name";
    public const string g_wszWMHasAudio = "HasAudio";
    public const string g_wszWMHasImage = "HasImage";
    public const string g_wszWMHasScript = "HasScript";
    public const string g_wszWMHasVideo = "HasVideo";
    public const string g_wszWMCurrentBitrate = "CurrentBitrate";
    public const string g_wszWMOptimalBitrate = "OptimalBitrate";
    public const string g_wszWMHasAttachedImages = "HasAttachedImages";
    public const string g_wszWMSkipBackward = "Can_Skip_Backward";
    public const string g_wszWMSkipForward = "Can_Skip_Forward";
    public const string g_wszWMNumberOfFrames = "NumberOfFrames";
    public const string g_wszWMFileSize = "FileSize";
    public const string g_wszWMHasArbitraryDataStream = "HasArbitraryDataStream";
    public const string g_wszWMHasFileTransferStream = "HasFileTransferStream";
    public const string g_wszWMContainerFormat = "WM/ContainerFormat";
    public const uint g_dwWMContentAttributes = 5;
    public const string g_wszWMTitle = "Title";
    public const string g_wszWMAuthor = "Author";
    public const string g_wszWMDescription = "Description";
    public const string g_wszWMRating = "Rating";
    public const string g_wszWMCopyright = "Copyright";
    public const string g_wszWMUse_DRM = "Use_DRM";
    public const string g_wszWMDRM_Flags = "DRM_Flags";
    public const string g_wszWMDRM_Level = "DRM_Level";
    public const string g_wszWMUse_Advanced_DRM = "Use_Advanced_DRM";
    public const string g_wszWMDRM_KeySeed = "DRM_KeySeed";
    public const string g_wszWMDRM_KeyID = "DRM_KeyID";
    public const string g_wszWMDRM_ContentID = "DRM_ContentID";
    public const string g_wszWMDRM_IndividualizedVersion = "DRM_IndividualizedVersion";
    public const string g_wszWMDRM_LicenseAcqURL = "DRM_LicenseAcqURL";
    public const string g_wszWMDRM_V1LicenseAcqURL = "DRM_V1LicenseAcqURL";
    public const string g_wszWMDRM_HeaderSignPrivKey = "DRM_HeaderSignPrivKey";
    public const string g_wszWMDRM_LASignaturePrivKey = "DRM_LASignaturePrivKey";
    public const string g_wszWMDRM_LASignatureCert = "DRM_LASignatureCert";
    public const string g_wszWMDRM_LASignatureLicSrvCert = "DRM_LASignatureLicSrvCert";
    public const string g_wszWMDRM_LASignatureRootCert = "DRM_LASignatureRootCert";
    public const string g_wszWMAlbumTitle = "WM/AlbumTitle";
    public const string g_wszWMTrack = "WM/Track";
    public const string g_wszWMPromotionURL = "WM/PromotionURL";
    public const string g_wszWMAlbumCoverURL = "WM/AlbumCoverURL";
    public const string g_wszWMGenre = "WM/Genre";
    public const string g_wszWMYear = "WM/Year";
    public const string g_wszWMGenreID = "WM/GenreID";
    public const string g_wszWMMCDI = "WM/MCDI";
    public const string g_wszWMComposer = "WM/Composer";
    public const string g_wszWMLyrics = "WM/Lyrics";
    public const string g_wszWMTrackNumber = "WM/TrackNumber";
    public const string g_wszWMToolName = "WM/ToolName";
    public const string g_wszWMToolVersion = "WM/ToolVersion";
    public const string g_wszWMIsVBR = "IsVBR";
    public const string g_wszWMAlbumArtist = "WM/AlbumArtist";
    public const string g_wszWMBannerImageType = "BannerImageType";
    public const string g_wszWMBannerImageData = "BannerImageData";
    public const string g_wszWMBannerImageURL = "BannerImageURL";
    public const string g_wszWMCopyrightURL = "CopyrightURL";
    public const string g_wszWMAspectRatioX = "AspectRatioX";
    public const string g_wszWMAspectRatioY = "AspectRatioY";
    public const string g_wszASFLeakyBucketPairs = "ASFLeakyBucketPairs";
    public const uint g_dwWMNSCAttributes = 5;
    public const string g_wszWMNSCName = "NSC_Name";
    public const string g_wszWMNSCAddress = "NSC_Address";
    public const string g_wszWMNSCPhone = "NSC_Phone";
    public const string g_wszWMNSCEmail = "NSC_Email";
    public const string g_wszWMNSCDescription = "NSC_Description";
    public const string g_wszWMWriter = "WM/Writer";
    public const string g_wszWMConductor = "WM/Conductor";
    public const string g_wszWMProducer = "WM/Producer";
    public const string g_wszWMDirector = "WM/Director";
    public const string g_wszWMContentGroupDescription = "WM/ContentGroupDescription";
    public const string g_wszWMSubTitle = "WM/SubTitle";
    public const string g_wszWMPartOfSet = "WM/PartOfSet";
    public const string g_wszWMProtectionType = "WM/ProtectionType";
    public const string g_wszWMVideoHeight = "WM/VideoHeight";
    public const string g_wszWMVideoWidth = "WM/VideoWidth";
    public const string g_wszWMVideoFrameRate = "WM/VideoFrameRate";
    public const string g_wszWMMediaClassPrimaryID = "WM/MediaClassPrimaryID";
    public const string g_wszWMMediaClassSecondaryID = "WM/MediaClassSecondaryID";
    public const string g_wszWMPeriod = "WM/Period";
    public const string g_wszWMCategory = "WM/Category";
    public const string g_wszWMPicture = "WM/Picture";
    public const string g_wszWMLyrics_Synchronised = "WM/Lyrics_Synchronised";
    public const string g_wszWMOriginalLyricist = "WM/OriginalLyricist";
    public const string g_wszWMOriginalArtist = "WM/OriginalArtist";
    public const string g_wszWMOriginalAlbumTitle = "WM/OriginalAlbumTitle";
    public const string g_wszWMOriginalReleaseYear = "WM/OriginalReleaseYear";
    public const string g_wszWMOriginalFilename = "WM/OriginalFilename";
    public const string g_wszWMPublisher = "WM/Publisher";
    public const string g_wszWMEncodedBy = "WM/EncodedBy";
    public const string g_wszWMEncodingSettings = "WM/EncodingSettings";
    public const string g_wszWMEncodingTime = "WM/EncodingTime";
    public const string g_wszWMAuthorURL = "WM/AuthorURL";
    public const string g_wszWMUserWebURL = "WM/UserWebURL";
    public const string g_wszWMAudioFileURL = "WM/AudioFileURL";
    public const string g_wszWMAudioSourceURL = "WM/AudioSourceURL";
    public const string g_wszWMLanguage = "WM/Language";
    public const string g_wszWMParentalRating = "WM/ParentalRating";
    public const string g_wszWMBeatsPerMinute = "WM/BeatsPerMinute";
    public const string g_wszWMInitialKey = "WM/InitialKey";
    public const string g_wszWMMood = "WM/Mood";
    public const string g_wszWMText = "WM/Text";
    public const string g_wszWMDVDID = "WM/DVDID";
    public const string g_wszWMWMContentID = "WM/WMContentID";
    public const string g_wszWMWMCollectionID = "WM/WMCollectionID";
    public const string g_wszWMWMCollectionGroupID = "WM/WMCollectionGroupID";
    public const string g_wszWMUniqueFileIdentifier = "WM/UniqueFileIdentifier";
    public const string g_wszWMModifiedBy = "WM/ModifiedBy";
    public const string g_wszWMRadioStationName = "WM/RadioStationName";
    public const string g_wszWMRadioStationOwner = "WM/RadioStationOwner";
    public const string g_wszWMPlaylistDelay = "WM/PlaylistDelay";
    public const string g_wszWMCodec = "WM/Codec";
    public const string g_wszWMDRM = "WM/DRM";
    public const string g_wszWMISRC = "WM/ISRC";
    public const string g_wszWMProvider = "WM/Provider";
    public const string g_wszWMProviderRating = "WM/ProviderRating";
    public const string g_wszWMProviderStyle = "WM/ProviderStyle";
    public const string g_wszWMContentDistributor = "WM/ContentDistributor";
    public const string g_wszWMSubscriptionContentID = "WM/SubscriptionContentID";
    public const string g_wszWMWMADRCPeakReference = "WM/WMADRCPeakReference";
    public const string g_wszWMWMADRCPeakTarget = "WM/WMADRCPeakTarget";
    public const string g_wszWMWMADRCAverageReference = "WM/WMADRCAverageReference";
    public const string g_wszWMWMADRCAverageTarget = "WM/WMADRCAverageTarget";
    public const string g_wszEarlyDataDelivery = "EarlyDataDelivery";
    public const string g_wszJustInTimeDecode = "JustInTimeDecode";
    public const string g_wszSingleOutputBuffer = "SingleOutputBuffer";
    public const string g_wszSoftwareScaling = "SoftwareScaling";
    public const string g_wszDeliverOnReceive = "DeliverOnReceive";
    public const string g_wszScrambledAudio = "ScrambledAudio";
    public const string g_wszDedicatedDeliveryThread = "DedicatedDeliveryThread";
    public const string g_wszEnableDiscreteOutput = "EnableDiscreteOutput";
    public const string g_wszSpeakerConfig = "SpeakerConfig";
    public const string g_wszDynamicRangeControl = "DynamicRangeControl";
    public const string g_wszAllowInterlacedOutput = "AllowInterlacedOutput";
    public const string g_wszVideoSampleDurations = "VideoSampleDurations";
    public const string g_wszStreamLanguage = "StreamLanguage";
    public const string g_wszDeinterlaceMode = "DeinterlaceMode";
    public const string g_wszInitialPatternForInverseTelecine = "InitialPatternForInverseTelecine";
    public const string g_wszJPEGCompressionQuality = "JPEGCompressionQuality";
    public const string g_wszWatermarkCLSID = "WatermarkCLSID";
    public const string g_wszWatermarkConfig = "WatermarkConfig";
    public const string g_wszInterlacedCoding = "InterlacedCoding";
    public const string g_wszFixedFrameRate = "FixedFrameRate";
    public const string g_wszOriginalSourceFormatTag = "_SOURCEFORMATTAG";
    public const string g_wszOriginalWaveFormat = "_ORIGINALWAVEFORMAT";
    public const string g_wszEDL = "_EDL";
    public const string g_wszComplexity = "_COMPLEXITYEX";
    public const string g_wszDecoderComplexityRequested = "_DECODERCOMPLEXITYPROFILE";
    public const string g_wszReloadIndexOnSeek = "ReloadIndexOnSeek";
    public const string g_wszStreamNumIndexObjects = "StreamNumIndexObjects";
    public const string g_wszFailSeekOnError = "FailSeekOnError";
    public const string g_wszPermitSeeksBeyondEndOfStream = "PermitSeeksBeyondEndOfStream";
    public const string g_wszUsePacketAtSeekPoint = "UsePacketAtSeekPoint";
    public const string g_wszSourceBufferTime = "SourceBufferTime";
    public const string g_wszSourceMaxBytesAtOnce = "SourceMaxBytesAtOnce";
    public const string g_wszVBREnabled = "_VBRENABLED";
    public const string g_wszVBRQuality = "_VBRQUALITY";
    public const string g_wszVBRBitrateMax = "_RMAX";
    public const string g_wszVBRBufferWindowMax = "_BMAX";
    public const string g_wszVBRPeak = "VBR Peak";
    public const string g_wszBufferAverage = "Buffer Average";
    public const string g_wszComplexityMax = "_COMPLEXITYEXMAX";
    public const string g_wszComplexityOffline = "_COMPLEXITYEXOFFLINE";
    public const string g_wszComplexityLive = "_COMPLEXITYEXLIVE";
    public const string g_wszIsVBRSupported = "_ISVBRSUPPORTED";
    public const string g_wszNumPasses = "_PASSESUSED";
    public const string g_wszMusicSpeechClassMode = "MusicSpeechClassMode";
    public const string g_wszMusicClassMode = "MusicClassMode";
    public const string g_wszSpeechClassMode = "SpeechClassMode";
    public const string g_wszMixedClassMode = "MixedClassMode";
    public const string g_wszSpeechCaps = "SpeechFormatCap";
    public const string g_wszPeakValue = "PeakValue";
    public const string g_wszAverageLevel = "AverageLevel";
    public const string g_wszFold6To2Channels3 = "Fold6To2Channels3";
    public const string g_wszFoldToChannelsTemplate = "Fold%luTo%luChannels%lu";
    public const string g_wszDeviceConformanceTemplate = "DeviceConformanceTemplate";
    public const string g_wszEnableFrameInterpolation = "EnableFrameInterpolation";

	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions