bdlukaa / just_audio_libwinmedia

Libwinmedia implementation of just_audio.
MIT License
11 stars 8 forks source link

Player on Linux blocks when setAudioSource #5

Closed Yesterday17 closed 2 years ago

Yesterday17 commented 2 years ago

This method blocks on(callstack): https://github.com/ryanheise/just_audio/blob/1c6598c0f3589baac4194e71b4d2885205f58ef4/just_audio/lib/just_audio.dart#L683 https://github.com/ryanheise/just_audio/blob/1c6598c0f3589baac4194e71b4d2885205f58ef4/just_audio/lib/just_audio.dart#L708 https://github.com/ryanheise/just_audio/blob/1c6598c0f3589baac4194e71b4d2885205f58ef4/just_audio/lib/just_audio.dart#L772-L773

That's because processingStateStream did not receive any state change. When player opens: https://github.com/bdlukaa/just_audio_libwinmedia/blob/21b43158e68eaa47abc9d783cc33b47e98e477ce/lib/src/just_audio_libwinmedia_real.dart#L164 It calls Player::Open internally, which sets video.src and does not fire any events: https://github.com/harmonoid/libwinmedia/blob/71a7f157a0d3ed9a6394e73de7585a7c9a3525fa/linux/player.hpp#L326-L329