New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is it possible to break an EDL list to several lines? #9186
Comments
that's not how an .edl file should be constructed, even retarded me knows that much. Read https://github.com/mpv-player/mpv/blob/master/DOCS/edl-mpv.rst And then read it again. And then again still. |
Too bad, because it works with smaller files and also i was on IRC and it turned out that the error was caused by a buffer not big enough. BTW, I've read that manual and it said it can be splitted into lines. It did not work. |
Last time it was extended was de3ecc6 from 8K to 512K two years ago. The issue currently is that youtube EDL files can get very big. Size of about 520K (one line), was observed, at the time of writing: mpv https://youtube.com/watch?v=DBzFQgSMHdQ --ytdl-format=299 ytdl_hook.lua is unaffected by this because EDL lists don't go through the file reader at demux_playlist.c (where each line was limited to 512K before this commit), however, EDL files on disk which are loaded with --playlist=file.edl do. Increase the limit to 2M so that such EDL files can also be loaded from disk. Fixes mpv-player#9186
I've found a list bigger than 2 MB: https://youtube.com/watch?v=iII1nQn5DH0 |
Hmmm... we increased it from 512K to 2M after I explicitly asked you to assess how much should suffice - because we just don't know, and only you need this. The biggest you could find was about 520K, and we agreed 2M should be enough for the foreseeable future. And now you say it's not enough, and I believe you, but we can't just increase it every few weeks. Using a dynamic buffer instead of a static one should solve it, but it needs to be assessed (it definitely wouldn't be as simple) - especially when we're talking about the limit for a single input line. Not sure what to do about it. |
First, not only i needed it, my users also needed it, who use MPV as a video player for my YT frontend. Second, i actually no longer need it, as i've already made a workaround for it: http://oscomp.hu/?details/EDL-Preloader_1.0.0_(EDL_preloader_for_MPV)_(CP)_1591 Third, we did not agree at all. I had several suggestion, like 4 MB or make it configurable, but you said no. I've just accepted your decision. IRClog:
Fourth, it's not my fault, that i could not find a video with EDLs bigger than 2 MB in mere minutes. As for the dynamic buffer, here is a made up patch: http://oscomp.hu/depot/demux_playlist.diff |
Yup, a dynamic buffer sounds like the least bad alternative, but low level manual allocation should probably be kept away from on this level. I'd believe we have string helpers to keep it simple such as Alternatively, we look into the EDL definition to enable it being on more than one line, since the buffer is meant to be "just for a single line" xD . |
Well, allowing EDLs to be broken up to multiple lines would work for me (i can break up EDLs in my generator), but the original problem would be still remain: gigantic one lined EDLs cannot be loaded by MPV. |
It can, and did/does at
Yeah, but I'm not familiar with the EDL handling code, and I don't know whether it would still be considered valid (I don't know if there's some EDL spec which requires the segments to be at one line). At the time increasing the limit seemed reasonable and we assumed it would hold for long enough, therefore we didn't look into the EDL handling code. If it can be modified to support split-lines EDL, without breaking some specification, then it would be the best solution - instead of allowing infinitely long EDL lines. But this requires more work which someone would need to do... |
I meant via the EDL specs says, that multi-line EDL is valid: we have to replace the semicolons with linefeeds. (MPV does not support this, i tried.) How about simply making the linebuffer dynamic? For that, there is a patch already. |
Unless this the only correct solution - which I don't know right now (and it would require effort to know), then to me this feels like a hack, which is why I prefer to not go through with this. If another mpv developer wants to take over and make it happen, no objection here. |
If i have a very big EDL list and i call
mpv --playlist=x.edl
, then it saysHere is an example file: http://oscomp.hu/depot/x.edl
The text was updated successfully, but these errors were encountered: