예제 #1
0
 /// <summary>
 /// The GetMute method gets the muting state of the audio stream that enters or leaves the
 /// audio endpoint device.
 /// </summary>
 /// <param name="mute">True = Stream is muted. False = Stream is not muted.</param>
 /// <returns>HRESULT</returns>
 public unsafe int GetMuteNative(out NativeBool mute)
 {
     fixed(void *ptr = &mute)
     {
         return(InteropCalls.CallI(_basePtr, ptr, ((void **)(*(void **)_basePtr))[15]));
     }
 }
예제 #2
0
 /// <summary>
 /// Queries whether the current position has reached the end of the stream.
 /// </summary>
 /// <param name="isEndOfStream">Receives the value <see cref="NativeBool.True"/> if the end of the stream has been reached, or <see cref="NativeBool.False"/> otherwise.</param>
 /// <returns>HREUSLT</returns>
 public unsafe int IsEndOfStreamNative(out NativeBool isEndOfStream)
 {
     fixed(void *p = &isEndOfStream)
     {
         return(InteropCalls.CalliMethodPtr(UnsafeBasePtr, p, ((void **)(*(void **)UnsafeBasePtr))[8]));
     }
 }
예제 #3
0
 /// <summary>
 /// Queries whether a stream is selected.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int GetStreamSelectionNative(int streamIndex, out NativeBool selectedRef)
 {
     fixed(NativeBool *p = (&selectedRef))
     {
         return(InteropCalls.CalliMethodPtr(_basePtr, streamIndex, (IntPtr *)p, ((void **)(*(void **)_basePtr))[3]));
     }
 }
예제 #4
0
 /// <summary>
 /// The GetMute method retrieves the current muting state for the audio session.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int GetMuteInternal(out NativeBool ismuted)
 {
     fixed(void *pismuted = &ismuted)
     {
         return(InteropCalls.CallI(_basePtr, pismuted, ((void **)(*(void **)_basePtr))[6]));
     }
 }
예제 #5
0
 /// <summary>
 ///     Gets the muting state of the audio stream that enters or leaves the
 ///     audio endpoint device.
 /// </summary>
 /// <param name="mute">
 ///     A Variable into which the method writes the muting state.
 ///     If <paramref name="mute" /> is <c>true</c>, the stream is muted. If <c>false</c>, the stream is not muted.
 /// </param>
 /// <returns>HRESULT</returns>
 public unsafe int GetMuteNative(out NativeBool mute)
 {
     fixed(void *ptr = &mute)
     {
         return(LocalInterop.Calli(UnsafeBasePtr, ptr, ((void **)(*(void **)UnsafeBasePtr))[15]));
     }
 }
예제 #6
0
 /// <summary>
 ///     Returns the running state of the effect at a specified position in the effect chain of the voice.
 /// </summary>
 /// <param name="effectIndex">Zero-based index of an effect in the effect chain of the voice.</param>
 /// <param name="enabled">Returns true if the effect is enabled. If the effect is disabled, returns false.</param>
 public unsafe void GetEffectStateNative(int effectIndex, out NativeBool enabled)
 {
     fixed(void *p = &enabled)
     {
         InteropCalls.CallI1(UnsafeBasePtr, effectIndex, p, ((void **)(*(void **)UnsafeBasePtr))[5]);
     }
 }
예제 #7
0
 /// <summary>
 /// The GetMute method retrieves the current muting state for the audio session.
 /// <seealso cref="IsMuted"/>
 /// </summary>
 /// <param name="isMuted">A variable into which the method writes the muting state. TRUE indicates that muting is enabled. FALSE indicates that it is disabled.</param>
 /// <returns>HRESULT</returns>
 public unsafe int GetMuteInternal(out NativeBool isMuted)
 {
     fixed(void *pismuted = &isMuted)
     {
         return(LocalInterop.Calli(UnsafeBasePtr, pismuted, ((void **)(*(void **)UnsafeBasePtr))[6]));
     }
 }
예제 #8
0
 /// <summary>
 /// Queries whether a stored attribute value equals a specified PROPVARIANT.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int CompareItem(Guid key, PropertyVariant value, out NativeBool result)
 {
     fixed(NativeBool *pr = &result)
     {
         return(InteropCalls.CalliMethodPtr(_basePtr, &key, &value, pr, ((void **)(*(void **)_basePtr))[5]));
     }
 }
예제 #9
0
 /// <summary>
 /// Queries whether the media type is a temporally compressed format. Temporal compression
 /// uses information from previously decoded samples when decompressing the current sample.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int IsCompressedFormat(out NativeBool iscompressed)
 {
     iscompressed = default(NativeBool);
     fixed(void *ptr = &iscompressed)
     {
         return(InteropCalls.CalliMethodPtr(_basePtr, new IntPtr(ptr), ((void **)(*(void **)_basePtr))[34]));
     }
 }
예제 #10
0
 /// <summary>
 /// The GetSimpleAudioVolume method retrieves a simple audio volume control.
 /// </summary>
 /// <param name="crossProcessSession">Specifies whether the request is for a cross-process session. Set to TRUE if the session is cross-process. Set to FALSE if the session is not cross-process.</param>
 /// <param name="audioSessionGuid">If the GUID does not identify a session that has been previously opened, the call opens a new but empty session. If the value is Guid.Empty, the method assigns the stream to the default session.</param>
 /// <returns>HRESULT</returns>
 public unsafe int GetSimpleAudioVolumeNative(Guid audioSessionGuid, NativeBool crossProcessSession, out SimpleAudioVolume audioVolume)
 {
     audioVolume = null;
     IntPtr ptr = IntPtr.Zero;
     int result = InteropCalls.CallI(_basePtr, &audioSessionGuid, crossProcessSession, &ptr, ((void**)(*(void**)_basePtr))[4]);
     if (ptr != IntPtr.Zero)
         audioVolume = new SimpleAudioVolume(ptr);
     return result;
 }
예제 #11
0
        /// <summary>
        /// The GetSimpleAudioVolume method retrieves a simple audio volume control.
        /// </summary>
        /// <param name="crossProcessSession">Specifies whether the request is for a cross-process session. Set to TRUE if the session is cross-process. Set to FALSE if the session is not cross-process.</param>
        /// <param name="audioSessionGuid">If the GUID does not identify a session that has been previously opened, the call opens a new but empty session. If the value is Guid.Empty, the method assigns the stream to the default session.</param>
        /// <returns>HRESULT</returns>
        public unsafe int GetSimpleAudioVolumeNative(Guid audioSessionGuid, NativeBool crossProcessSession, out SimpleAudioVolume audioVolume)
        {
            audioVolume = null;
            IntPtr ptr    = IntPtr.Zero;
            int    result = InteropCalls.CallI(_basePtr, &audioSessionGuid, crossProcessSession, &ptr, ((void **)(*(void **)_basePtr))[4]);

            if (ptr != IntPtr.Zero)
            {
                audioVolume = new SimpleAudioVolume(ptr);
            }
            return(result);
        }
예제 #12
0
 /// <summary>
 /// Selects or deselects one or more streams.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int SetStreamSelectionNative(int streamIndex, NativeBool selected)
 {
     return(InteropCalls.CalliMethodPtr(_basePtr, streamIndex, selected, ((void **)(*(void **)_basePtr))[4]));
 }
예제 #13
0
 internal static unsafe int CalliMethodPtr(void* _basePtr, int streamIndex, NativeBool selected, void* p)
 {
     throw new NotImplementedException();
 }
예제 #14
0
 /// <summary>
 /// Queries whether the current position has reached the end of the stream.
 /// </summary>
 /// <param name="isEndOfStream">Receives the value <see cref="NativeBool.True"/> if the end of the stream has been reached, or <see cref="NativeBool.False"/> otherwise.</param>
 /// <returns>HREUSLT</returns>
 public unsafe int IsEndOfStreamNative(out NativeBool isEndOfStream)
 {
     fixed (void* p = &isEndOfStream)
     {
         return InteropCalls.CalliMethodPtr(UnsafeBasePtr, p, ((void**) (*(void**) UnsafeBasePtr))[8]);
     }
 }
예제 #15
0
 /// <summary>
 /// The SetDuckingPreference method enables or disables the default stream attenuation experience (auto-ducking) provided by the system.
 /// </summary>
 /// <param name="enableSystemAutoDucking">A BOOL variable that enables or disables system auto-ducking.</param>
 /// <returns>HRESULT</returns>
 public unsafe int SetDuckingPreferenceNative(NativeBool enableSystemAutoDucking)
 {
     return(InteropCalls.CallI(_basePtr, enableSystemAutoDucking, ((void **)(*(void **)_basePtr))[16]));
 }
예제 #16
0
 internal static unsafe int Calli(void *_basePtr, NativeBool muted, void *p)
 {
     throw new NotImplementedException();
 }
예제 #17
0
 internal static unsafe int CallI(void* _basePtr, Guid* guid, NativeBool crossProcessSession, IntPtr* intPtr,
     void* p)
 {
     throw new NotImplementedException();
 }
예제 #18
0
 /// <summary>
 /// The SetMute method sets the muting state for the audio session.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int SetMuteInternal(NativeBool muted, Guid eventContext)
 {
     return InteropCalls.CallI(_basePtr, muted, &eventContext, ((void**)(*(void**)_basePtr))[5]);
 }
예제 #19
0
 /// <summary>
 /// Selects or deselects one or more streams.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int SetStreamSelectionNative(int streamIndex, NativeBool selected)
 {
     return InteropCalls.CalliMethodPtr(_basePtr, streamIndex, selected, ((void**)(*(void**)_basePtr))[4]);
 }
예제 #20
0
 /// <summary>
 /// Selects or deselects one or more streams.
 /// </summary>
 public void SetStreamSelection(int streamIndex, NativeBool selected)
 {
     MediaFoundationException.Try(SetStreamSelectionNative(streamIndex, selected), c, "SetStreamSelection");
 }
예제 #21
0
 /// <summary>
 /// Queries whether a stream is selected.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int GetStreamSelectionNative(int streamIndex, out NativeBool selectedRef)
 {
     fixed (NativeBool* p = (&selectedRef))
     {
         return InteropCalls.CalliMethodPtr(_basePtr, streamIndex, (IntPtr*)p, ((void**)(*(void**)_basePtr))[3]);
     }
 }
예제 #22
0
 internal static unsafe int CalliMethodPtr(void* _basePtr, void* p1, MFAttributeMatchType matchType, NativeBool* pr, void* p2)
 {
     throw new NotImplementedException();
 }
예제 #23
0
 internal static unsafe int CalliMethodPtr(void* _basePtr, Guid* guid, PropertyVariant* propertyVariant, NativeBool* pr, void* p)
 {
     throw new NotImplementedException();
 }
예제 #24
0
 /// <summary>
 /// Selects or deselects one or more streams.
 /// </summary>
 public void SetStreamSelection(int streamIndex, NativeBool selected)
 {
     MediaFoundationException.Try(SetStreamSelectionNative(streamIndex, selected), c, "SetStreamSelection");
 }
예제 #25
0
 /// <summary>
 /// Queries whether the media type is a temporally compressed format. Temporal compression
 /// uses information from previously decoded samples when decompressing the current sample.
 /// </summary>
 /// <param name="iscompressed">Receives a Boolean value. The value is <c>TRUE</c> if the format uses temporal compression, or <c>FALSE</c> if the format does not use temporal compression.</param>
 /// <returns>HRESULT</returns>
 public unsafe int IsCompressedFormatNative(out NativeBool iscompressed)
 {
     iscompressed = default(NativeBool);
     fixed (void* ptr = &iscompressed)
     {
         return InteropCalls.CalliMethodPtr(UnsafeBasePtr, new IntPtr(ptr), ((void**)(*(void**)UnsafeBasePtr))[34]);
     }
 }
예제 #26
0
 /// <summary>
 /// The GetMute method retrieves the current muting state for the audio session.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int GetMuteInternal(out NativeBool ismuted)
 {
     fixed (void* pismuted = &ismuted)
     {
         return InteropCalls.CallI(_basePtr, pismuted, ((void**)(*(void**)_basePtr))[6]);
     }
 }
예제 #27
0
 internal static unsafe int CallI(void* _basePtr, NativeBool mute, Guid* guid, void* p)
 {
     throw new NotImplementedException();
 }
예제 #28
0
 /// <summary>
 /// Compares the attributes on this object with the attributes on another object.
 /// </summary>
 /// <returns>HRESULT</returns>
 public unsafe int Compare(MFAttributes theirs, MFAttributeMatchType matchType, out NativeBool result)
 {
     fixed(NativeBool *pr = &result)
     {
         return(InteropCalls.CalliMethodPtr(_basePtr, (void *)((theirs == null) ? IntPtr.Zero : theirs.BasePtr), matchType, pr, ((void **)(*(void **)_basePtr))[6]));
     }
 }
예제 #29
0
 internal static unsafe int Calli(void *_basePtr, Guid *guid, NativeBool crossProcessSession, IntPtr *intPtr,
                                  void *p)
 {
     throw new NotImplementedException();
 }
예제 #30
0
 /// <summary>
 ///     Sets the muting state of the audio stream that enters or leaves the
 ///     audio endpoint device.
 /// </summary>
 /// <param name="mute"><c>True</c> mutes the stream. <c>False</c> turns off muting.</param>
 /// <param name="eventContext">EventContext which can be accessed in the event handler.</param>
 /// <returns>HRESULT</returns>
 public unsafe int SetMuteNative(NativeBool mute, Guid eventContext)
 {
     return InteropCalls.CallI(UnsafeBasePtr, mute, &eventContext, ((void**) (*(void**) UnsafeBasePtr))[14]);
 }
예제 #31
0
 internal static unsafe int CalliMethodPtr(void *_basePtr, int streamIndex, NativeBool selected, void *p)
 {
     throw new NotImplementedException();
 }
예제 #32
0
 /// <summary>
 /// The SetMute method sets the muting state of the audio stream that enters or leaves the
 /// audio endpoint device.
 /// </summary>
 /// <param name="mute">True mutes the stream. False turns off muting.</param>
 /// <returns>HRESULT</returns>
 public unsafe int SetMuteNative(NativeBool mute, Guid eventContext)
 {
     return(InteropCalls.CallI(_basePtr, mute, &eventContext, ((void **)(*(void **)_basePtr))[14]));
 }
예제 #33
0
 /// <summary>
 /// Sets the muting state for the audio session.
 /// <seealso cref="IsMuted"/>
 /// </summary>
 /// <param name="muted">The new muting state. TRUE enables muting. FALSE disables muting.</param>
 /// <param name="eventContext">EventContext which can be accessed in the event handler.</param>
 /// <returns>HRESULT</returns>
 public unsafe int SetMuteNative(NativeBool muted, Guid eventContext)
 {
     return(LocalInterop.Calli(UnsafeBasePtr, muted, &eventContext, ((void **)(*(void **)UnsafeBasePtr))[5]));
 }
예제 #34
0
 /// <summary>
 /// The SetDuckingPreference method enables or disables the default stream attenuation experience (auto-ducking) provided by the system.
 /// </summary>
 /// <param name="enableSystemAutoDucking">A BOOL variable that enables or disables system auto-ducking.</param>
 /// <returns>HRESULT</returns>
 public unsafe int SetDuckingPreferenceNative(NativeBool enableSystemAutoDucking)
 {
     return InteropCalls.CallI(_basePtr, enableSystemAutoDucking, ((void**)(*(void**)_basePtr))[16]);
 }
예제 #35
0
 /// <summary>
 ///     Gets the muting state of the audio stream that enters or leaves the
 ///     audio endpoint device.
 /// </summary>
 /// <param name="mute">
 ///     A Variable into which the method writes the muting state.
 ///     If <paramref name="mute" /> is <c>true</c>, the stream is muted. If <c>false</c>, the stream is not muted.
 /// </param>
 /// <returns>HRESULT</returns>
 public unsafe int GetMuteNative(out NativeBool mute)
 {
     fixed (void* ptr = &mute)
     {
         return InteropCalls.CallI(UnsafeBasePtr, ptr, ((void**) (*(void**) UnsafeBasePtr))[15]);
     }
 }
예제 #36
0
 /// <summary>
 /// Enables or disables the default stream attenuation experience (auto-ducking) provided by the system.
 /// </summary>
 /// <param name="enableSystemAutoDucking">A <see cref="NativeBool"/> variable that enables or disables system auto-ducking.</param>
 /// <returns>HRESULT</returns>
 public unsafe int SetDuckingPreferenceNative(NativeBool enableSystemAutoDucking)
 {
     return(LocalInterop.Calli(UnsafeBasePtr, enableSystemAutoDucking, ((void **)(*(void **)UnsafeBasePtr))[16]));
 }