mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.02k stars 2.88k forks source link

libmpv: missing MPV_EVENT_END_FILE event when playing video from yt-dlp_x86 #14913

Open wbtcpip2 opened 4 days ago

wbtcpip2 commented 4 days ago

mpv Information

[ 118.039][v][cplayer] mpv v0.38.0-601-gf470b63a Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
[ 118.039][v][cplayer]  built on Jul 12 2024 00:08:04
[ 118.040][v][cplayer] libplacebo version: v7.349.0 (v7.349.0-dirty)
[ 118.040][v][cplayer] FFmpeg version: N-116241-g70c6b904b
[ 118.040][v][cplayer] FFmpeg library versions:
[ 118.040][v][cplayer]    libavcodec      61.10.100
[ 118.040][v][cplayer]    libavdevice     61.2.100
[ 118.040][v][cplayer]    libavfilter     10.2.102
[ 118.040][v][cplayer]    libavformat     61.5.101
[ 118.040][v][cplayer]    libavutil       59.28.100
[ 118.040][v][cplayer]    libswresample   5.2.100
[ 118.040][v][cplayer]    libswscale      8.2.100

Other Information

- Windows version:Windows 10 Pro 64-bit (10.0, Build 19045) (19041.vb_release.191206-1406)
- GPU model, driver and version:AMD Radeon(TM) Graphics 31.0.21914.4000
- Source of mpv: https://github.com/wbtcpip2/mpv-winbuild/releases/tag/2024-07-12-f470b63
- Introduced in version: since longtime

Reproduction Steps

start playing a youtube video with libmpv and check the mpv_wait_event when the video has finished you do not receive the MPV_EVENT_END_FILE (so my app remain stalled waiting forever for MPV_EVENT_END_FILE) However the log generated show the eof file at the end MPV_EVENT_END_FILE is always received when playing non yt-dlp_x86 streams

Expected Behavior

to receive the MPV_EVENT_END_FILE event at the end of a video played from yt-dlp_x86

Actual Behavior

MPV_EVENT_END_FILE event not received when playing streams from yt-dlp_x86

Log File

24092024_160742_httpswww3bmeteocommeteobasilicatavideo.txt

Sample Files

No response

I carefully read all instruction and confirm that I did the following:

wbtcpip2 commented 4 days ago

i have now found a workaround using mpv_observe_property on the "eof-reached" property. In this case MPV_EVENT_PROPERTY_CHANGE event is fired and i can react.

but i hope you can fix the behaviour of MPV_EVENT_END_FILE with yt-dlp_x86