예제 #1
0
        /// <summary>
        ///     Delivers a buffer to the specified input stream.
        /// </summary>
        /// <param name="inputStreamIndex">Zero-based index of an input stream on the DMO.</param>
        /// <param name="mediaBuffer">The <see cref="MediaBuffer"/> to process.</param>
        /// <param name="flags">Bitwise combination of <see cref="InputDataBufferFlags.None"/> or more flags from the <see cref="InputDataBufferFlags"/> enumeration.</param>
        /// <param name="timestamp">
        ///     Time stamp that specifies the start time of the data in the buffer. If the buffer has a valid
        ///     time stamp, set the Time flag in the flags parameter.
        /// </param>
        /// <param name="timeduration">
        ///     Reference time specifying the duration of the data in the buffer. If the buffer has a valid
        ///     time stamp, set the TimeLength flag in the flags parameter.
        /// </param>
        public void ProcessInput(int inputStreamIndex, IMediaBuffer mediaBuffer, InputDataBufferFlags flags,
                                 long timestamp, long timeduration)
        {
            int result = ProcessInputNative(inputStreamIndex, mediaBuffer, flags, timestamp, timeduration);

            if (result == (int)HResult.S_FALSE)
            {
                return;
            }

            DmoException.Try(result, n, "ProcessInput");
        }
예제 #2
0
 internal static unsafe int CalliMethodPtr(void* _basePtr, int streamIndex, IMediaBuffer mediaBuffer,
     InputDataBufferFlags flags, long timestamp, long timeduration, void* p)
 {
     throw new NotImplementedException();
 }
예제 #3
0
 /// <summary>
 /// Delivers a buffer to the specified input stream.
 /// </summary>
 /// <param name="inputStreamIndex">Zero-based index of an input stream on the DMO.</param>
 /// <param name="mediaBuffer">The mediabuffer which has to be processed.</param>
 /// <param name="flags">Flags to describe the mediabuffer.</param>
 /// <param name="timestamp">Time stamp that specifies the start time of the data in the buffer. If the buffer has a valid time stamp, set the Time flag in the flags parameter.</param>
 /// <param name="timeduration">Reference time specifying the duration of the data in the buffer. If the buffer has a valid time stamp, set the TimeLength flag in the flags parameter.</param>
 /// <returns>HRESULT</returns>
 public unsafe int ProcessInputNative(int inputStreamIndex, IMediaBuffer mediaBuffer, InputDataBufferFlags flags, long timestamp, long timeduration)
 {
     return InteropCalls.CalliMethodPtr(_basePtr, inputStreamIndex, mediaBuffer, flags, timestamp, timeduration, ((void**)(*(void**)_basePtr))[21]);
 }
예제 #4
0
        /// <summary>
        /// Delivers a buffer to the specified input stream.
        /// </summary>
        /// <param name="inputStreamIndex">Zero-based index of an input stream on the DMO.</param>
        /// <param name="mediaBuffer">The mediabuffer which has to be processed.</param>
        /// <param name="flags">Flags to describe the mediabuffer.</param>
        /// <param name="timestamp">Time stamp that specifies the start time of the data in the buffer. If the buffer has a valid time stamp, set the Time flag in the flags parameter.</param>
        /// <param name="timeduration">Reference time specifying the duration of the data in the buffer. If the buffer has a valid time stamp, set the TimeLength flag in the flags parameter.</param>
        public unsafe void ProcessInput(int inputStreamIndex, IMediaBuffer mediaBuffer, InputDataBufferFlags flags, long timestamp, long timeduration)
        {
            int result = ProcessInputNative(inputStreamIndex, mediaBuffer, flags, timestamp, timeduration);
            if (result == (int)HResult.S_FALSE)
                return;

            DmoException.Try(result, n, "ProcessInput");
        }
예제 #5
0
 /// <summary>
 /// Delivers a buffer to the specified input stream.
 /// </summary>
 /// <param name="inputStreamIndex">Zero-based index of an input stream on the DMO.</param>
 /// <param name="mediaBuffer">The mediabuffer which has to be processed.</param>
 /// <param name="flags">Flags to describe the mediabuffer.</param>
 public void ProcessInput(int inputStreamIndex, IMediaBuffer mediaBuffer, InputDataBufferFlags flags)
 {
     ProcessInput(inputStreamIndex, mediaBuffer, flags, 0, 0);
 }
예제 #6
0
 internal static unsafe int CalliMethodPtr(void *_basePtr, int streamIndex, void *mediaBuffer,
                                           InputDataBufferFlags flags, long timestamp, long timeduration, void *p)
 {
     throw new NotImplementedException();
 }
예제 #7
0
 public unsafe int ProcessInputNative(int inputStreamIndex, MONO.MediaBuffer mediaBuffer, InputDataBufferFlags flags,
                                      long timestamp, long timeduration)
 {
     return(LocalInterop.CalliMethodPtr(UnsafeBasePtr, inputStreamIndex, mediaBuffer.NativePointer.ToPointer(), flags, timestamp, timeduration,
                                        ((void **)(*(void **)UnsafeBasePtr))[21]));
 }
예제 #8
0
 /// <summary>
 ///     Delivers a buffer to the specified input stream.
 /// </summary>
 /// <param name="inputStreamIndex">Zero-based index of an input stream on the DMO.</param>
 /// <param name="mediaBuffer">The <see cref="MediaBuffer"/> to process.</param>
 /// <param name="flags">Bitwise combination of <see cref="InputDataBufferFlags.None"/> or more flags from the <see cref="InputDataBufferFlags"/> enumeration.</param>
 public void ProcessInput(int inputStreamIndex, IMediaBuffer mediaBuffer, InputDataBufferFlags flags)
 {
     ProcessInput(inputStreamIndex, mediaBuffer, flags, 0, 0);
 }
예제 #9
0
 /// <summary>
 /// Delivers a buffer to the specified input stream.
 /// </summary>
 /// <param name="inputStreamIndex">Zero-based index of an input stream on the DMO.</param>
 /// <param name="mediaBuffer">The mediabuffer which has to be processed.</param>
 /// <param name="flags">Flags to describe the mediabuffer.</param>
 /// <param name="timestamp">Time stamp that specifies the start time of the data in the buffer. If the buffer has a valid time stamp, set the Time flag in the flags parameter.</param>
 /// <param name="timeduration">Reference time specifying the duration of the data in the buffer. If the buffer has a valid time stamp, set the TimeLength flag in the flags parameter.</param>
 /// <returns>HRESULT</returns>
 public unsafe int ProcessInputNative(int inputStreamIndex, IMediaBuffer mediaBuffer, InputDataBufferFlags flags, long timestamp, long timeduration)
 {
     return(InteropCalls.CalliMethodPtr(_basePtr, inputStreamIndex, mediaBuffer, flags, timestamp, timeduration, ((void **)(*(void **)_basePtr))[21]));
 }