Open christoph-heinrich opened 2 years ago
Also happens when running --ytdl-format=251
with #10395 and #10399 applied, so that it only plays the audio track.
When comparing log files of:
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=251 --pause --log-file=
no_queue_audio_only.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
and
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=251 --ad-queue-enable=yes --log-file=
ad_audio_only.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
It looks like the audio decoder and output never get initialized.
So i suspected the same might also be the case on the video side:
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=248 --pause --log-file=
no_queue_video_only.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
and
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=248 --vd-queue-enable=yes --log-file=
vd_video_only.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
Video decoder and output don't seem to get initialized.
For your convenience here are the same files again, but stripped of the time stamps for easier comparison. no_queue_audio_only_stripped.txt ad_audio_only_stripped.txt no_queue_video_only_stripped.txt vd_video_only_stripped.txt
I've been poking at the code a bit and found that deleting either this or this results in playback working without a problem, as long as I'm playing vp9 or av1, but starting with or switching over to h.264 does not work and results in a continuous output of errors until i close mpv.
Commands and logs from first change:
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=248 --vd-queue-enable=yes --pause --log-file=
decoder_wrapper_vp9.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
and
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=137 --vd-queue-enable=yes --pause --log-file=
decoder_wrapper_h264.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
Same story over on the audio side. Making either of the above changes results in opus working, but aac results in a continuous output of errors until i close mpv.
Commands and logs from first change:
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=251 --ad-queue-enable=yes --pause --log-file=
decoder_wrapper_opus.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
and
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ytdl-format=140 --ad-queue-enable=yes --pause --log-file=
decoder_wrapper_aac.txt
'https://www.youtube.com/watch?v=bJbAFfMp52g'
And again the same files, stripped of timestamps for easier comparison. decoder_wrapper_vp9_stripped.txt decoder_wrapper_h264_stripped.txt decoder_wrapper_opus_stripped.txt decoder_wrapper_aac_stripped.txt
With the second change the output is almost the same, but here are the logs in case someone can gain some insight from them. demux_timeline_vp9.txt demux_timeline_vp9_stripped.txt demux_timeline_h264.txt demux_timeline_h264_stripped.txt demux_timeline_opus.txt demux_timeline_opus_stripped.txt demux_timeline_aac.txt demux_timeline_aac_stripped.txt
Looking at those logs it seems to me that the fact that vp9, av1 and opus work is more of a happy little accident then anything else :neutral_face:
Important Information
Provide following Information:
Reproduction steps
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --ad-queue-enable=yes 'https://www.youtube.com/watch?v=bJbAFfMp52g'
mpv --no-config --script-opts=ytdl_hook-all_formats=yes --vd-queue-enable=yes 'https://www.youtube.com/watch?v=bJbAFfMp52g'
Expected behavior
normal playback, like it would without
ad-queue-enable
andvd-queue-enable
Actual behavior
Never starts playback. In the case of
ad-queue-enable
it opens a window showing the first frame and the OSC is responsive, but upon seeking not even the OSC reacts anymore. Closing the window viaq
or by pressing the x in the title bar also leads to a frozen OSC and does not close the window.Log file
ad.txt vd.txt
Sample files
Any YouTube video.