private void RegisterBufferStatusChangedCallback() { _mediaPacketBufferStatusChangedCallback = (sourceId_, state, _) => { Log.Info(WebRTCLog.Tag, $"sourceId:{sourceId_}, state:{state}"); BufferStatusChanged?.Invoke(this, new MediaPacketBufferStatusChangedEventArgs(sourceId_, state)); }; NativeWebRTC.SetBufferStateChangedCb(Handle, SourceId, _mediaPacketBufferStatusChangedCallback, IntPtr.Zero). ThrowIfFailed("Failed to set buffer status changed callback."); }
private void RegisterBufferStatusChanged() { _bufferStatusCb = (statusCode, _) => { Debug.Assert(Enum.IsDefined(typeof(MediaCodecStatus), statusCode), $"{ statusCode } is not defined in MediaCodecStatus!"); BufferStatusChanged?.Invoke(this, new BufferStatusChangedEventArgs(statusCode)); }; Native.SetBufferStatusCb(_handle, _bufferStatusCb). ThrowIfFailed("Failed to set buffer status callback."); }
private void RegisterBufferStatusChanged() { _bufferStatusCb = (statusCode, _) => { Debug.Assert(Enum.IsDefined(typeof(MediaCodecStatus), statusCode), $"{ statusCode } is not defined in MediaCodecStatus!"); BufferStatusChanged?.Invoke(this, new BufferStatusChangedEventArgs((MediaCodecStatus)statusCode)); }; int ret = Interop.MediaCodec.SetBufferStatusCb(_handle, _bufferStatusCb); MultimediaDebug.AssertNoError(ret); }
private void MediaStreamBufferStatusChanged(object sender, MediaStreamBufferStatusChangedEventArgs e) { BufferStatusChanged?.Invoke(this, e); }