Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Play fail on very very short audio (WMA) (Read 4670 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Play fail on very very short audio (WMA)

Reply #1
Winamp and wma2wav also cannot decode it. The output is 44-byte file i.e. header-only. What program is able to decode this file?

Play fail on very very short audio (WMA)

Reply #2
I tested FFmpeg decoder and it too fails to produce any output. Wmal2pcm.exe can decode it to four samples long wav file. I suspect this is the same gapless issue that WMA Lossless has suffered for years now. The bug is that some files fail to decode to original length with third party WMA decoders and only wmal2pcm decodes them correctly. If someone finds a solution for this I suspect Peter would be more than happy to implement it.


Play fail on very very short audio (WMA)

Reply #4
I tested FFmpeg decoder and it too fails to produce any output. Wmal2pcm.exe can decode it to four samples long wav file.


Thanks.

The bug is that some files fail to decode to original length with third party WMA decoders...


I guess you're saying that bug "fail to decode to original length" is the cause of the FB2K playback error? Perhaps because FB2K does not tolerate the change in length?

Play fail on very very short audio (WMA)

Reply #5
The output is 44-byte file i.e. header-only. What program is able to decode this file?

GoldWave (the creator), Windows Media Player.

If you mean this GoldWave, I tried both release v5.70 and beta v6.05 and they both failed to open the file. Granted, they did not show any error messages but the file they claimed to have opened was empty. Zero samples long.
Windows Media Player in both Windows 7 and Windows 8.1 also failed. They allowed adding the file to the library but if you add the file to a playlist you will see it is missing length. And playback stops when it reaches the track. So WMP encounters an error but doesn't bother reporting about it.

The bug is that some files fail to decode to original length with third party WMA decoders...

I guess you're saying that bug "fail to decode to original length" is the cause of the FB2K playback error? Perhaps because FB2K does not tolerate the change in length?

I'm suspecting the same length bug is the cause but not because foobar2000 is intolerant about length mismatches. For longer files it breaks the promise of being lossless and can cause audible issues if track was supposed to be gapless. But foobar2000 has no trouble playing the non-missing parts of such files. You only have problems with invalid audio files that contain no audio at all.

Play fail on very very short audio (WMA)

Reply #6
If you mean this GoldWave


Yup.

I tried both release v5.70 and beta v6.05 and they both failed to open the file. Granted, they did not show any error messages but the file they claimed to have opened was empty. Zero samples long.


What indicates that's a failure?

You only have problems with invalid audio files that contain no audio at all.


What indicates this file is invalid?

Play fail on very very short audio (WMA)

Reply #7
I tried both release v5.70 and beta v6.05 and they both failed to open the file. Granted, they did not show any error messages but the file they claimed to have opened was empty. Zero samples long.

What indicates that's a failure?

The file should be four samples long.

What indicates this file is invalid?

This file isn't invalid but decoders that people can use in their programs can't decode it correctly. Only wmal2pcm tool decodes it right.

Play fail on very very short audio (WMA)

Reply #8
The file should be four samples long. This file isn't invalid


You've lost me there. If it is valid, then it does have the correct number of samples, surely.

but decoders that people can use in their programs can't decode it correctly.


Well, one of the reasons for me reporting it here is the hope people will improve their code

Play fail on very very short audio (WMA)

Reply #9
Well, one of the reasons for me reporting it here is the hope people will improve their code


AFAIK foobar2000 uses system decoder written by Microsoft. So it seems that you should ask MS developers to improve their code.

Play fail on very very short audio (WMA)

Reply #10
The file should be four samples long.

You've lost me there. If it is valid, then it does have the correct number of samples, surely.

I should have been more careful with my wording in the earlier post. Like I corrected in a later post the file isn't invalid but the decoder bug makes it look invalid for foobar2000.
The file is a valid lossless WMA file and contains four audio samples. It can be decoded to a four samples long WAV file with wmal2pcm tool and the decoded audio file works fine in foobar2000. But the decoder built into Windows fails to decode it correctly and truncates the file to nothingness. This is where the problem comes from. It should contain data and foobar2000 correctly reports the error decoder gives with the file.

AFAIK foobar2000 uses system decoder written by Microsoft.

That is correct. The only other available decoder implementation that I know of is FFmpeg and it too fails here.

Play fail on very very short audio (WMA)

Reply #11
AFAIK foobar2000 uses system decoder written by Microsoft. So it seems that you should ask MS developers to improve their code.


I'm sure MS has it's reasons for using faulty code. I can't imagine what FB2K's is

Play fail on very very short audio (WMA)

Reply #12
IMHO foobar2000 uses the best available solution.

Play fail on very very short audio (WMA)

Reply #13
"Wmal2pcm.exe can decode it"

Play fail on very very short audio (WMA)

Reply #14
wmal2pcm is a closed source program: MS didn't open its source code. So I cannot understand how fb2k can use it.

Play fail on very very short audio (WMA)

Reply #15
If wmal2pcm can do it, fb2k can do it.

Play fail on very very short audio (WMA)

Reply #16
If wmal2pcm can do it, fb2k can do it.


Why not? Reverse engineer wmal2pcm.exe and publish the code under a non-restrictive license. I'm sure foobar2000 developers will be happy to use it.

Play fail on very very short audio (WMA)

Reply #17
Or use the command-line decoder wrapper plugin.
It's only audiophile if it's inconvenient.


Play fail on very very short audio (WMA)

Reply #19
Or use the command-line decoder wrapper plugin.

This solution has its own problems: no tags, slow seeking, pauses between tracks (when wmal2pcm decodes .wma to .wav)...
Well, sure, the real problem is the broken file, not the choice of decoder. I just wanted to mention another solution.
It's only audiophile if it's inconvenient.


Play fail on very very short audio (WMA)

Reply #21
How many samples in length did you actually save?


I didn't specify a specific number of samples (just a short duration) and the program GoldWave didn't tell me.

Play fail on very very short audio (WMA)

Reply #22
What was the duration you specified?

Play fail on very very short audio (WMA)

Reply #23
Just a short duration. With a mouse drag. I didn't read the measure.

Play fail on very very short audio (WMA)

Reply #24
Unrelated to foobar2000's support of this track, it seems that FFMPEG both registers that the duration and pre-roll fields of this file are identical (as with any file which is less than 1ms) and thus zero length, but the bitstream parser is unable to decode any sample data from the 13KB of bitstream provided, so there's something wrong with their decoder as well, or so it seems.