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: Problematic FLAC file (Read 5132 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Problematic FLAC file

I found some problematic FLAC file. This is FLAC made on my own from Beatport WAVE - it could be done with foobar's Converter or with EAC as a frontend and definitely with FLAC 1.2.1, probably the one with fix for 4GB files. What I encounter:
When I play this file I see that seekbar (waveform seekbar) progresses, musical spectrum is not working, peak meter is not working, vu meter is not working. After about 18 seconds of silence everything starts playing from that point. When I seek back to beginning the file plays fine on first 18 seconds, except when I seek back to just beginning. Currently I am using foobar 1.2.8. with lots of input plugins. File was playing fine at least in foobar 1.2.5. I haven't play this file from some time so I can't be sure if it was introduced in foobar 1.2.8. or before... When I try to refresh waveform seekbar signature, waveform is shown properly for whole file. File plays fine in MPC-HC and can be edited in various wave editors.
My question is - how can I debug it and find on my own what is the problem with the file? foobar's Console doesn't show anything wrong - just opening for playback info... Additionally I'll upload the file later and send the link to developers, but I wanted to make some investigation on my own and post useful information here, but I don't know where to start.

EDIT:
Is there a way that I can extraxt first 30 seconds of FLAC without reencoding it ?

Problematic FLAC file

Reply #1
How about testing file with Integrity Verifier? What it "says"?

Problematic FLAC file

Reply #2
That everything is OK - no errors, no warnings. Additionally I think that errors that can be found by Verifier would be reported just while playing...

Problematic FLAC file

Reply #3
You could make a copy and use a tool to truncate the size of the copy. Depending on bitrate 2-3 MB should be enough. When you play the truncated file in foobar it will pop up an error telling where decoding fails so you'll know the length. If you don't have a tool at hand and don't feel like searching for one, you can use this.

Problematic FLAC file

Reply #4
Thanks Case. Here's the link: http://speedy.sh/ES8E9/Kerri-Chandler-Bar-...al-Mix-3MB.flac  File plays without sound up to 17 seconds. Then sound comes back.... What else can I do on my own to determine the source of problem?

EDIT:
I found one more thing. When I double click on playlist on that file it plays as described. But when I play file that is before it on playlist and use Next button, then file is skipped. Still

There's something wrong with skipping... File plays fine now. File contained tag KEYWORDS filled with string "FLAC". Accordingly to my skipping expression files with that string should be skipped. When I replaced that string (it was placed there by mistake) file plays fine, whenever it is doubleclicked or played using Next button.

EDIT2:
I tested it with other files. When I place string "FLAC" into tag KEYWORDS in .flac file and then I try to play it with doublecklick, then I got the same situation - first 16-17 seconds of file is played silently. But this doesn't happen to any .mp3 file with "FLAC" string in KEYWORDS tag.

EDIT3:
mp3 files are totally free from such strange things. I thought that maybe putting codec name or file extension breaks playback but it doesn't seem to be true - it happens only for string FLAC.

Problematic FLAC file

Reply #5
It sounds like whatever tags and query string you use causes the DSP part to believe skip is going to happen but the main skip callback disagrees. I'd like to get the exact info to see if I can reproduce this.

Problematic FLAC file

Reply #6
What do you mean by exact info?
Let me try:
Foobar version: 1.2.8
Plugins list:
Code: [Select]
Core (2013-06-14 09:44:34 UTC)
    foobar2000 core 1.2.8
foo_ac3.dll (2012-08-29 15:57:04 UTC)
    AC3 decoder 0.9.7
foo_adpcm.dll (2011-12-16 00:27:38 UTC)
    kode's ADPCM decoders 1.10
foo_albumlist.dll (2013-02-11 11:28:58 UTC)
    Album List 4.5
foo_amipwrapper.dll (2010-01-29 20:32:26 UTC)
    AMIP Wrapper 1.01
foo_asap.dll (2012-12-04 16:15:16 UTC)
    ASAP 3.1.3
foo_audioscrobbler.dll (2012-11-22 15:41:48 UTC)
    Audioscrobbler 1.4.7
foo_bestversion.dll (2013-03-20 15:00:29 UTC)
    Best Version Picker 0.1
foo_bitcompare.dll (2008-12-05 13:08:02 UTC)
    Binary Comparator 1.2
foo_bpm.dll (2010-04-20 11:35:08 UTC)
    BPM Analyser 0.2.4.1
foo_cdda.dll (2013-03-07 09:48:32 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2013-06-14 09:09:50 UTC)
    Converter 1.5
foo_convolve.dll (2013-03-27 20:18:27 UTC)
    Convolver 0.3
foo_deemph.dll (2013-02-08 17:43:34 UTC)
    De-emphasis postprocessor 0.0.3
foo_disccache.dll (2013-04-13 19:52:52 UTC)
    Disc cache warmer 0.0
foo_dsp_effect.dll (2013-02-19 18:43:44 UTC)
    Effect DSP 0.11
foo_dsp_eq.dll (2013-02-11 11:28:58 UTC)
    Equalizer 1.0
foo_dsp_eqsplit.dll (2008-07-13 00:49:10 UTC)
    Split equalizer v0.0.1
foo_dsp_fsurround.dll (2012-07-06 21:29:44 UTC)
    FreeSurround 0.9.0
foo_dsp_mm.dll (2008-06-06 04:29:12 UTC)
    Matrix Mixer 0.3
foo_dsp_resampler.dll (2013-03-27 19:01:33 UTC)
    SoX Resampler 0.8.3
foo_dsp_silence.dll (2009-08-09 23:32:54 UTC)
    Post-track silence 0.0.3
foo_dsp_std.dll (2013-06-14 09:10:08 UTC)
    Standard DSP Array 1.3
foo_dsp_vlevel20080302.0.dll (2008-03-02 22:42:06 UTC)
    VLevel 20080302.0
foo_dsp_xfeed.dll (2011-09-19 18:44:30 UTC)
    Crossfeed 0.1.3
foo_dsp_xgeq.dll (2012-02-05 11:11:22 UTC)
    Graphic Equalizer 0.3.7
foo_dsp_yac.dll (2013-03-27 20:02:35 UTC)
    Yet Another Convolver 1.1.0
foo_dumb.dll (2013-06-16 16:57:06 UTC)
    DUMB module decoder 1.0.32
foo_dynamicdsp.dll (2012-07-18 05:56:46 UTC)
    Dynamic DSP 1.0
foo_fileops.dll (2013-02-11 11:28:10 UTC)
    File Operations 2.2
foo_flv.dll (2012-12-29 06:00:00 UTC)
    Flash Video Decoder 0.9.6
foo_freedb2.dll (2013-02-11 11:27:56 UTC)
    Online Tagger 0.7
foo_gep.dll (2013-06-12 14:14:27 UTC)
    Game Emu Player 1.163
foo_hdcd.dll (2012-07-17 18:40:12 UTC)
    HDCD decoder 1.15
foo_input_adplug.dll (2013-05-05 17:57:08 UTC)
    AdPlug 1.44
foo_input_amr.dll (2009-03-05 19:20:06 UTC)
    AMR input 1.1.1
foo_input_celt.dll (2011-05-16 11:21:00 UTC)
    CELT Decoder 0.1.2
foo_input_ds.dll (2013-01-20 18:54:37 UTC)
    DirectShow input 0.1
foo_input_dsdiff.dll (2011-05-18 18:01:22 UTC)
    DSDIFF Decoder 1.4
foo_input_dts.dll (2013-01-30 14:21:04 UTC)
    DTS decoder 0.3.1
foo_input_dtshd.dll (2011-03-19 21:41:12 UTC)
    DTS-HD Decoder 0.1.3
foo_input_dvda.dll (2012-03-16 15:30:28 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.11
foo_input_exe.dll (2012-10-11 20:56:52 UTC)
    Command-Line Decoder Wrapper 0.4
foo_input_gsf.dll (2013-03-27 17:09:40 UTC)
    Highly Advanced 2.0.2
foo_input_ht.dll (2013-01-19 14:58:54 UTC)
    Highly Theoretical 2.0.37
foo_input_hvl.dll (2013-05-12 21:17:51 UTC)
    Hively Tracker decoder 1.12
foo_input_kdm.dll (2012-02-19 09:52:40 UTC)
    KDM Decoder 1.1
foo_input_monkey.dll (2013-04-13 10:40:08 UTC)
    Monkey's Audio Decoder 2.1.7
foo_input_ncsf.dll (2013-04-26 08:48:42 UTC)
    NCSF Decoder 1.7
foo_input_ofr.dll (2011-03-15 21:43:46 UTC)
    OptimFROG Lossless/DualStream Decoder 1.31
foo_input_org.dll (2012-02-19 09:53:10 UTC)
    Organya decoder 1.9
foo_input_qsf.dll (2012-12-31 16:30:44 UTC)
    Highly Quixotic 2.0.25
foo_input_reverse.dll (2009-01-05 18:47:00 UTC)
    Reverse Playback 0.1.4 (SSE)
foo_input_sacd.dll (2012-08-25 18:03:10 UTC)
    Super Audio CD Decoder 0.5.11
foo_input_shorten.dll (2009-11-15 19:46:36 UTC)
    Shorten decoder 0.4.2.2
foo_input_std.dll (2013-06-14 09:44:34 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2013-06-21 10:29:42 UTC)
    TAK Decoder 0.4.7
foo_input_tfmx.dll (2012-12-13 14:24:38 UTC)
    TFMX decoder 0.10
foo_input_tta.dll (2010-10-27 10:50:20 UTC)
    TTA Audio Decoder 3.2
foo_input_upse.dll (2012-12-22 09:42:24 UTC)
    UPSE PSF Decoder 1.8
foo_input_usf.dll (2011-06-26 17:16:54 UTC)
    LazyUSF 2.1 (Build Jun 26 2011)
foo_input_zxtune.dll (2013-02-19 20:20:22 UTC)
    ZX Tune Player 0.0.1
foo_keep_queue.dll (2010-11-12 02:28:46 UTC)
    Keep Queue 0.3.5
foo_lnk.dll (2010-01-07 17:57:56 UTC)
    Shell Link Resolver 1.3.1
foo_lock.dll (2010-01-11 10:18:36 UTC)
    Pause on Lock 0.5
foo_masstag.dll (2013-03-27 20:20:17 UTC)
    Masstagger 1.8.4
foo_midi.dll (2013-05-09 01:24:20 UTC)
    MIDI synthesizer host 1.209
foo_musical_spectrum.dll (2012-11-21 06:00:00 UTC)
    Musical Spectrum 0.9.1
foo_nds.dll (2013-03-22 11:59:18 UTC)
    No Display Standby 1.1
foo_osd.dll (2012-12-17 18:28:20 UTC)
    On-Screen Display 1.73
foo_out_asio.dll (2012-06-06 13:19:14 UTC)
    ASIO support 2.1.2
foo_playcount.dll (2011-07-13 09:47:18 UTC)
    Playback Statistics 3.0.2
foo_psf.dll (2013-01-02 10:22:16 UTC)
    Highly Experimental 2.0.34
foo_queuecontents.dll (2011-12-31 12:30:56 UTC)
    Queue Contents Editor 0.5
foo_rg_trn.dll (2010-01-13 23:01:00 UTC)
    ReplayGain override 0.1.3
foo_rgscan.dll (2013-06-14 09:09:54 UTC)
    ReplayGain Scanner 2.2
foo_run.dll (2009-06-07 13:15:18 UTC)
    Run services 0.3.7
foo_seek.dll (2011-12-20 11:03:06 UTC)
    Seek 1.1
foo_seek_box.dll (2010-04-21 13:03:30 UTC)
    Seek box 0.0.3
foo_sendtodevice.dll (2013-03-11 16:20:22 UTC)
    Send to Device 1.1.2 [Nov 28 2007 - 10:13:31]
foo_sid.dll (2013-04-17 03:49:02 UTC)
    sidplay2 1.31
foo_skip.dll (2013-04-13 11:35:16 UTC)
    Skip Track 1.7.8
foo_softplaylists.dll (2013-01-25 19:31:19 UTC)
    Soft Playlists 2012-10-10
foo_stop_on_current.dll (2009-06-18 03:54:52 UTC)
    Stop on Current 0.4
foo_timebomb.dll (2009-12-20 20:40:00 UTC)
    Timebomb 0.0.2
foo_ui_std.dll (2013-06-14 09:44:34 UTC)
    Default User Interface 0.9.5
foo_verifier.dll (2013-03-14 10:38:18 UTC)
    File Integrity Verifier 1.1.1
foo_vst.dll (2011-03-05 06:19:04 UTC)
    VST 2.4 adapter 0.9.0.3
foo_wave_seekbar.dll (2013-06-09 23:47:00 UTC)
    Waveform seekbar 0.2.39.3
skip string: %keywords% HAS flac
files marking method: adding tag field named "KEYWORDS" and filling it with simple string "FLAC" (with no quotation marks of course) . This is intended to identify .mp3 files that have FLAC duplicates. It is used while I use Shuffle/Random play modes to allow me to play files with better available quality.

When problem occurs: when file encoded as FLAC is erroneously tagged with KEYWORDS=FLAC
What exactly happens: such file plays silently by first 16-17 seconds and then normal playback comes back. I can search back and listen to this first 16 seconds as long as I don't hit very first frames of file.
What DSP Chain is used:
1. Dynamic DSP (foo_dynamic_dsp)
2. Skip Silence (foo_dsp_std)
3. Downmix channels to stereo  (foo_dsp_std)
4. Convert mono to stereo  (foo_dsp_std)
5. Playback Rate Shift (foo_dsp_effect)
6. Skip track (foo_skip)

Dynamic DSP utilizes several chains that include:
1. Skip Silence
2. Downmix Channels to stereo
3. Convert mono to stereo
4. Playback Rate Shift (various shift values)
5. Skip track

Every DSP chain used inside Dynamic DSP requires TRACKDSP tag to be added to file to trigger DSP change. FLAC files that were tested with adding "fake" "FLAC" string into KEYWORDS tag doesn't use TRACKDSP tag functionality so there shouldn't be any conflict between Dynamic DSP and Skip Track DSP.

This happened starting after foobar 1.2.5  - for the first time in 1.2.8 . It could start after last Skip Track DSP update. For sure it doesn't happened some time ago as I played the file that triggered this error for the first time many times before, and tags weren't changed from at least several months.

Is there anything else I can add ?

Problematic FLAC file

Reply #7
Are there any news available?

Problematic FLAC file

Reply #8
I tested the issue the same day you replied with the required info. I installed and activated all the DSPs you had in use and tagged some files appropriately but there were absolutely no ill side effects. Though dynamic DSP had blank configs here. I don't know why I decided not to report my results here.

Edit: I just took a look at the component's source and I think there may be side effects if the DSP chain changes soon after a new track has started to play. Could you test if this slightly modified version helps: [attachment=7557:foo_skip...kip_test.fb2k-component]

Problematic FLAC file

Reply #9
Exactly the same as it was before.
I want to notice that Dynamic DSP shouldn't interfere with those tracks that were tested against this issue, as they haven't any TRACKDSP tags.
There is no difference whether "FLAC" is the only content of KEYWORDS tag, or if it's "FLAC, free track, free release" (to denote that such mp3 was given for free at some webshop). The scenario is always the same - if played file is .mp3 then everything is OK when I manually play such file. When played file is .flac file, then always first 16 seconds is silent. Seems there is some problem with the fact that KEYWORDS contain same string as file extension. I need to perform tests with changing skipping pattern to other file extensions and it on them. Tomorrow I will tell you what I have found. Now it's time to go to my friend's birthday

Problematic FLAC file

Reply #10
Weird thing. Today I tested it against strings "ogg", "vorbis" and "mp3". Nothing was going wrong. So I switched back to "flac". And it seems that the problem disappeared. Since last foobar run I haven't changed anything in config... This is really strange... At the moment I can say that problem has been solved.

 

Problematic FLAC file

Reply #11
EDIT:

Nevermind... It looks out it was a strange interaction between Dynamic DSP and R128 Compressor... I guess it is because R128 Compressor says it has a 3 second delay...


Original post follows:

Hi.

I believe I've found another case of this bug, and it might be repeatable:

I was testing the files on this thread of hydrogenaudio, when i noticed one of the files wouldn't play in foobar2000.
I redownloaded the file and still the same problem.
Then, I went to my other PC, also downloaded them, and when i was to test it, i realized that now it was the other file the one that wouldn't play.

Out of my surprise, I realized that i placed them in different order in the playlist, so I changed the file order in the playlist, and the one that was placed second on the playlist would always skip, no matter if it was test.flac, or test2.flac.


Foobar 1.2.9:
Create a new playlist
Add those two files
The second file (whichever it is of both) won't play.

In both PCs, using directsound output. One is Win XP, other Win7, both have integrated soundcards (one realtek HDAudio, the other C-Media AC97).