Skip to main content
Topic: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a  (Read 644 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Since version 1.4.1 foobar2000 doesn't use other decoder for *.mp4/*.m4a files, if decoder that is higher in priority list didn't work.
Example. I have  foo_ac3, foo_input_dts installed and also foo_input_ffmpeg configured for decoding ac3, DTS and MP4. fb2k's native MP4 demuxer, foo_ac3, foo_input_dts and native matroska reader are higher in decoders' priority  list than foo_input_ffmpeg.
I created *.ac3 file with e-ac3 stream (which isn't supported by foo_ac3), *.mka file with e-ac3 stream, *.dts file with dts-express stream (which isn't supported by foo_input_dts) and also three *.mp4 files (one with e-ac3 stream, one with dts-express stream and one with mpeg4als stream).
In fb2k 1.4 decoding successfully falls back to foo_input_ffmpeg for ALL aforementioned files and all files are playable.
But 1.4.1 for *.mp4 files (with e-ac3, dts-express, mpeg4als inside) just gives out error "Unsupported format or corrupted file".
Archive with files - https://www.dropbox.com/s/u9ilyd1dg84w1tj/files.mp4.zip?dl=1

Also fallback to foo_input_ffmpeg never worked for *.mkv with dts-express even in 1.4. But i guess this is entirely different problem.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #1
Behavior persists in 1.4.2 beta 1

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #2
Problem being investigated, thanks for reporting.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #3
Fallback with MP4 files addressed for the next update.

Please provide sample files for dts-express/matroska fallback, I remuxed your dts-express.dts file to .mka and it plays with foo_input_ffmpeg with foo_input_ffmpeg at the end of the decoder list.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #4
Sorry, i should been mention that fallback for matroska with dts-express does't work ONLY if foo_input_dts is installed (even if it is disabled in decoders' list).
Here are 2 samples (error message is different for each of them) https://www.dropbox.com/s/byqnnzustad96zs/dts-express1.mka?dl=1 , https://www.dropbox.com/s/j0xl6jiv48g9fya/dt-express2.mka?dl=1

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #5
Problem noted, thanks for the details.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #6
(Incidentally, extended forms of DTS will always succeed on analyze_first_frame(), because they interleave single plain DTS frames with a following extended frame, and my decoder picks up that second frame if it exists, but I guess the MP4 container isn't packetizing them that way?)

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #7
MP4 scenario addressed in version 1.4.2 beta 2.

Matroska/DTS needs fixes in the DTS component which I believe are being deployed by kode54.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #8
Problem fixed partially. Decoding now succesfully falls back to foo_input_ffmpeg for *.mp4 with mpeg4als stream but not for *.mp4 with e-ac3 stream (regardless if foo_ac3 is installed or not).
And n 1.4.2 beta 2 if foo_ac3 0.9.11 is installed then *.mp4 with ac3 (not E-ac3) stream even can't be added to playlist with error "Unable to determine channel count." But in fb2k 1.4.0 with foo_ac3 0.9.11 *.mp4 with ac3 stream CAN be added to playlist and its decoding falls back to foo_input_ffmpeg.
Archive with ac3 in mp4 and eac3 in mp4 - https://www.dropbox.com/s/7fthj10pso5wne2/EAC3%20and%20AC3%20in%20mp4.zip?dl=1

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #9
I could theoretically make foo_ac3 support E-AC3, but I don't know how useful that would be. It would just be another FFmpeg port with another minimal FFmpeg build.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #10
Fixed MP4/E-AC3, for the next update, thanks for reporting.

My MP4 reader currently doesn't recognize E-AC3 tracks, so it can't be added with a new packet decoder until the next update.

Re: Fallback to other decoder doesn't work since 1.4.1 for mp4/m4a

Reply #11
I could theoretically make foo_ac3 support E-AC3, but I don't know how useful that would be.
I personally think that decoding of lossy with foo_input_ffmpeg is enough. Because many lossy encoders are not sample-accurate anyway and lossy is not meant to be re-encoded. So ffmpeg.exe's inability to do sample-accurate seeking doesn't matter much. But for lossless it does matter. Because when splitting mkv/mka with chapters or image+cue it is possible to loose some samples at the tracks boundaries along the album.

 
SimplePortal 1.0.0 RC1 © 2008-2019