View Single Post
Old 13th June 2020, 23:10   #1693  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by MrVideo View Post
Then encode, which consists of decoding (what I do not know, since the WAV files are already there), filtering (normalizing the volume) and then encoding with the flac encoder.

The decoder does show all the way to 100%.
The "decoder" for WAV files is a simple file copy. This is necessary to avoid modifications of the original file when the filter is applied (some filters work "in-place"). This step is simply skipped, if no filters are to be applied.

File copy does not invoke a separate process. We use CopyFileExW() to copy the WAV file. And we install a LPPROGRESS_ROUTINE callback to monitor the progress of the copy operation.

It is very possible that copying the file finishes so quickly that there is not much time to actually see any "intermediate" progress updates. So, in that case, it would effectively just "jump" to 100% very quickly.

Anyway, we can only update the progress displayed in the GUI when Windows actually invokes the supplied LPPROGRESS_ROUTINE callback. There is nothing else we could do on our side, I think.

Quote:
Originally Posted by MrVideo View Post
The filter and encoder barely get above 0%. At most I've seen the encoder get to is 22% and these were files that took minutes to filter/encode. I'd run them on the command line, but in order to compare apples to apples, I'd have to know what the command line options are that you use. The console output doesn't supply that information.
We can only update that progress shown in the GUI when the filter process (e.g. SoX) actually reports any progress update.

As explained before, the one and only case in which things could possibly be improved on the LameXP side would be if any progress updates actually written out by the filter process (e.g. SoX) were "missed" or parsed wrongly by LameXP.

You can see the full command-line that LameXP invokes in the log, as always (just double-click an item after it has finished). Either that, or just use a tool like Process Monitor.

Quote:
Originally Posted by MrVideo View Post
No idea what encoder you were using and you weren't doing any filtering.
I was converting AAC (MP4) to MP3 with normalization filter enabled, in order to show you that the progress is displayed smoothly for the AAC decoder (FAAD), as well as the normalization filterer (SoX) and the MP3 encoder (LAME).

If you look at the video more carefully, you will see that the "filter" progress smoothly goes up from 0% to 100%. You can best see this with Track #1, which is the longest – it still completes pretty fast, so may want to step frame-by-frame.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 13th June 2020 at 23:20.
LoRd_MuldeR is offline   Reply With Quote