Page 1 of 1

[SOLVED] [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Mon Feb 06, 2017 3:37 pm
by tapx
Hi,

I have had this bug with XrecodeIII both 1.48 and 1.5.

I was trying to convert my flac library to ogg: ~3700 files.

One the threads got stuck while processing one of the files.

I have had this bug with both v1.48 and v1.5.

I had it every time I tried to process my whole library but the file that hangs keeps changing.
I think it is a problem with the way xrecode handles threading and/or processes priorities.

Best wishes,
tapx

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Wed Feb 08, 2017 8:15 pm
by rotong
I agree with you. Today I converted some 96kHz/24bit Flac files and XR3 hangs again after some minutes in the middle of the process. I have this problem everytime I convert large files!

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Thu Feb 09, 2017 9:53 pm
by admin
Are you using oggenc2.exe as encoder or libvorbis.dll under OGG Settings? If former, please set it to use libvorbis.dll and try again.

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Mon Feb 13, 2017 9:11 pm
by rotong
Just a thought: Perhaps the process hangs because the file is read-only and it's impossible to write?

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Tue Feb 14, 2017 5:32 am
by tapx
I suspect this has nothing to do with oggenc2.exe or files permissions.

I used xrecode2 with the same oggenc2.exe that is in xrecode3 tree and everything went well with my whole library never had a single problem...

So for now if I encode lots of files I use xrecode2...

As for large files. The hanging threads were not consistently larger files than usual. I keep tracks separated...

Is there a way to run xrecode3 in debug mode so that I can send a log file ?

I'll give a try to libvorbis.dll as well but I think the problem is in xrecode...

Tapx

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Sun Feb 19, 2017 10:38 am
by admin
Please let me know how the encoding worked using libvorbis.dll. I've had similar reports and using libvorbis.dll resolved the issue.

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Mon Feb 20, 2017 1:31 pm
by tapx
Hi,

I just finished converting my whole library (4254 files).

It went ok with libvorbis.dll and xrecode 1.51 (stable release).

Still I wonder why oggenc2.exe works with xrecodeII 1.0.0.231 and hangs with xrecodeIII (same executable).

Tapx

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Mon Feb 20, 2017 2:58 pm
by admin
Great. Reason why it sometimes hangs with oggenc2, I think, is because of the ogg file format. When oggenc2 is used, Metadata is saved after the encoding has completed and that process involves lot of disk IO (as, basically, then whole file is recreated - I might look into this to optimize). When libvorbis is used, Metadata is saved in file along with the encoding process thus greatly reducing the disk IO. I was unable to fully reproduce the issue myself, but come to that conclusion by monitoring CPU/Disk activity while using oggenc2. Sometimes CPU usage went to almost 0, while disk activity to 100%.

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Mon Feb 20, 2017 3:57 pm
by tapx
Thanks for the explanations.

It is always nice to know what a software is doing.

One more question:
a nice feature of oggenc2.exe is that it encodes flac to ogg without decoding to wav first.

Is this feature retained with libvorbis.dll ?

Tried to look in libvorbis-1.35 doc and found nothing about this.

Best tapx.

Re: [XRIII 1.5 and 1.48] Threads hang with large number of files to transcode.

Posted: Mon Feb 20, 2017 5:57 pm
by admin
What oggenc2.exe, actually, does is that it decodes FLAC file to PCM samples and then encodes them directly to OGG without creating the intermediate WAV file. This is what's happening with libvorbis.dll as well, only XRECODE decodes the source audio to PCM and then feeds it into libvorbis.dll, which prodices the OGG file.