public event EventHandler<BufferingProgressChangedEventArgs> BufferingProgressChanged;
private NativePlayer.BufferingProgressCallback _bufferingProgressCallback;
+ private NativePlayer.PrepareCallback _prepareCallback;
+
internal event EventHandler<MediaStreamBufferStatusChangedEventArgs> MediaStreamAudioBufferStatusChanged;
private NativePlayer.MediaStreamBufferStatusCallback _mediaStreamAudioBufferStatusChangedCallback;
}
#region VideoFrameDecoded event
-
- private EventHandler<VideoFrameDecodedEventArgs> _videoFrameDecoded;
-
- private NativePlayer.VideoFrameDecodedCallback _videoFrameDecodedCallback;
-
/// <summary>
/// Occurs when a video frame is decoded.
/// </summary>
/// <exception cref="NotSupportedException">The required feature is not supported.</exception>
/// <seealso cref="VideoFrameDecodedEventArgs.Packet"/>
/// <since_tizen> 3 </since_tizen>
- public event EventHandler<VideoFrameDecodedEventArgs> VideoFrameDecoded
- {
- add
- {
- ValidationUtil.ValidateFeatureSupported(PlayerFeatures.RawVideo);
-
- _videoFrameDecoded += value;
- }
- remove
- {
- ValidationUtil.ValidateFeatureSupported(PlayerFeatures.RawVideo);
-
- _videoFrameDecoded -= value;
- }
- }
+ public event EventHandler<VideoFrameDecodedEventArgs> VideoFrameDecoded;
+ private NativePlayer.VideoFrameDecodedCallback _videoFrameDecodedCallback;
+ #endregion
- private void RegisterVideoFrameDecodedCallback()
- {
- _videoFrameDecodedCallback = (packetHandle, _) =>
- {
- var handler = _videoFrameDecoded;
- if (handler != null)
- {
- Log.Debug(PlayerLog.Tag, "packet : " + packetHandle);
- handler.Invoke(this,
- new VideoFrameDecodedEventArgs(MediaPacket.From(packetHandle)));
- }
- else
- {
- MediaPacket.From(packetHandle).Dispose();
- }
- };
+ #region AudioFrameDecoded event
+ /// <summary>
+ /// Occurs when a audio frame is decoded.
+ /// </summary>
+ /// <remarks>
+ /// <para>The event handler will be executed on an internal thread.</para>
+ /// <para>The <see cref="AudioDataDecodedEventArgs.Packet"/> in event args should be disposed after use.</para>
+ /// </remarks>
+ /// <seealso cref="AudioDataDecodedEventArgs.Packet"/>
+ /// <since_tizen> 6 </since_tizen>
+ public event EventHandler<AudioDataDecodedEventArgs> AudioDataDecoded;
- NativePlayer.SetVideoFrameDecodedCb(Handle, _videoFrameDecodedCallback).
- ThrowIfFailed(this, "Failed to register the VideoFrameDecoded");
- }
+ private NativePlayer.AudioFrameDecodedCallback _audioFrameDecodedCallback;
#endregion
private void RegisterVideoStreamChangedCallback()