public HResult GetCharacteristics(out MFMediaSinkCharacteristics pdwCharacteristics)
        {
            Debug.WriteLine("MediaSink:GetCharacteristics");

            pdwCharacteristics = MFMediaSinkCharacteristics.None;

            lock (this)
            {
                if (IsShutdown)
                {
                    return(MF_E_SHUTDOWN);
                }

                pdwCharacteristics = MFMediaSinkCharacteristics.FixedStreams;
            }

            return(S_OK);
        }
Example #2
0
        //-------------------------------------------------------------------
        // Name: GetCharacteristics
        // Description: Returns the characteristics flags.
        //
        // Note: This sink has a fixed number of streams and is rateless.
        //-------------------------------------------------------------------
        public int GetCharacteristics(out MFMediaSinkCharacteristics pdwCharacteristics)
        {
            // Make sure we *never* leave this entry point with an exception
            try
            {
                TRACE("CWavSink::GetCharacteristics");
                lock (this)
                {
                    CheckShutdown();

                    pdwCharacteristics = MFMediaSinkCharacteristics.FixedStreams | MFMediaSinkCharacteristics.Rateless;
                }
                return S_Ok;
            }
            catch (Exception e)
            {
                pdwCharacteristics = MFMediaSinkCharacteristics.None;
                return Marshal.GetHRForException(e);
            }
        }