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: foo_spdif - SPDIF support for foobar (Read 141467 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_spdif - SPDIF support for foobar

Hi everyone!

Is anybody interested in SPDIF passthrough for AC3/DTS?

Here it is  foo_spdif page

foo_spdif - SPDIF support for foobar

Reply #1
cool plugin, but it play my dts files to fast. i think this is the same problem like with an early version of Acropolis dts plugin.

foo_spdif - SPDIF support for foobar

Reply #2
Yes, well it's probably because your files are recorded at 44.1kHz and your sound card doesn't support spdif passthrough at such frequency. Unfortunately most sound boards have output fixed at 48kHz.

foo_spdif - SPDIF support for foobar

Reply #3
foobar2000 has a DSP called Resampler which should do the job.

foo_spdif - SPDIF support for foobar

Reply #4
I guess this doesn't work for Vista x64?  All I get is: "Unable to open item for playback (Unsupported file format):[insert my dts or dd file here].  I tried both .AC3/.DTS and .SPDIF file extensions, same result.

foo_spdif - SPDIF support for foobar

Reply #5
I guess this doesn't work for Vista x64?  All I get is: "Unable to open item for playback (Unsupported file format):[insert my dts or dd file here].  I tried both .AC3/.DTS and .SPDIF file extensions, same result.


I have no idea  I assume your sound card driver for vista supports spdif playback, right?

foo_spdif - SPDIF support for foobar

Reply #6
If you wanna play *.ac3 and *.dts files, you must have the input plugins for those formats (foo_ac3 and foo_dts)

foo_spdif - SPDIF support for foobar

Reply #7
Didn't work here.

I tried with a clean install with/without foo_ac3 plugin

Without foo_ac3, foobar2000 crashed

With foo_ac3, it was normal playback, no spdif passtrough

Maybe that MSVCR80.dll library? Where needs to be added?

-Rozzo

foo_spdif - SPDIF support for foobar

Reply #8
Hi,

this kind of plugin is all that I need for happiness.

Unfortunately it doesn't work here.

foo_spdif Without foo-Ac3, foobar2000 crashes

foo-spdif With foo-Ac3 I get usual playback, not spdif

Added msv80 library into system32, no happiness

*.spdif appended to filenames, no happiness

Uh?
Rozzo

foo_spdif - SPDIF support for foobar

Reply #9
Hi,

this kind of plugin is all that I need for happiness.

Unfortunately it doesn't work here.

foo_spdif Without foo-Ac3, foobar2000 crashes

foo-spdif With foo-Ac3 I get usual playback, not spdif

Added msv80 library into system32, no happiness

*.spdif appended to filenames, no happiness

Uh?
Rozzo


Ok, I'm working on few changes, please be patient

foo_spdif - SPDIF support for foobar

Reply #10
new release:
foo_spdif_v0.2

v0.2:
- fixed horrible bug preventing even a try at opening spdif for sample rates different than 48kHz
- optimized playback startup delay when forcing 48kHz
- added <FORCED!> tag in codec name for files forced to 48kHz
- added support for mpeg audio (for test purposes, works with ".spdif" extension only, any feedback is welcome)
- added support for stream type change, eg if there are dts and ac3 streams following each other in one file

additional requirements:
- foobar2000 v0.9.4 at least
- directX8 or newer

foo_spdif - SPDIF support for foobar

Reply #11
Grzesio,

Thank you very much for creating this plugin.  It is the missing piece that I was looking for.

I tried v0.1b, and the only problem that I encountered is that it does not always set the sound card to the correct sampling rate.  For example, when I play a 44.1kHz .AC3 file, sometimes it correctly sets the sound card to 44.1kHz, but sometimes it incorrectly sets the sound card to 48kHz.  A similar problem happens when I play a 48kHz .AC3 file.  In any case, the foobar2000 status bar always shows the correct sampling rate.  It's just the sound card that is being set incorrectly sometimes.  To get around the problem, I have to keep restarting the playback of the file until it eventually sets the correct sampling rate.

I will try v0.2 and report my results.

By the way, I am using the latest version of foobar2000 (v0.9.4.3), with the ASIO output plugin, on the M-Audio Delta DiO 2496 sound card (with the latest drivers), and Windows XP SP2.

foo_spdif - SPDIF support for foobar

Reply #12
Hi,

thanks for your work.

I don't know if I miss something:

When I play my AC3 files with creative mediasource (windows XP, Creative X-Fi, digital bitstream output activated), I get a pop-up "Dolby Digital Bitstream Out" and the display on my Denon AVR 1706 Receiver reads "Dolby Digital EX". In this condition, music sounds perfect through my six speakers, loud, clear and integrated, sooo satisfying. In this mode, I can control music's volume only through the receiver controls.

Same effect obtained with Zoom Player and Ciberlink Power DVD.

With Foobar and spdif plugin (I tried Direct Sound, Kernel Streaming and Asio aoutput) I get only standard Playback, Receiver applies its PLII or NEO 5x1 effects, so no way to hear my AC3 as they.

My question is if this spdif passtrough plugin can send the ac3 files directly to the receiver as Dolby Digital bitstream from Foobar or I'am misunderstanding something.

For me is very important because I'm attached to foobar2000 and want to use it as my standard player, but the hearing experience with Dolby Digital Bitstream Output for AC3 files is far superior to the 5x1 plugin solutions I find otherwise. It's real surround music!!

foo_spdif - SPDIF support for foobar

Reply #13
Grzesio,

Thank you very much for creating this plugin.  It is the missing piece that I was looking for.

I tried v0.1b, and the only problem that I encountered is that it does not always set the sound card to the correct sampling rate.  For example, when I play a 44.1kHz .AC3 file, sometimes it correctly sets the sound card to 44.1kHz, but sometimes it incorrectly sets the sound card to 48kHz.  A similar problem happens when I play a 48kHz .AC3 file.  In any case, the foobar2000 status bar always shows the correct sampling rate.  It's just the sound card that is being set incorrectly sometimes.  To get around the problem, I have to keep restarting the playback of the file until it eventually sets the correct sampling rate.

I will try v0.2 and report my results.

By the way, I am using the latest version of foobar2000 (v0.9.4.3), with the ASIO output plugin, on the M-Audio Delta DiO 2496 sound card (with the latest drivers), and Windows XP SP2.



Thanks for the info, Erik. I'm waiting for your feedback on v0.2.

Can anyone confirm that mpeg audio (mp1,mp2,mp3) passthrough works or not?

foo_spdif - SPDIF support for foobar

Reply #14
I tried v0.2, and 44.1kHz .AC3 files have no problem now.  Thanks for correcting it.

However, 48kHz .AC3 files still have the same problem as before.  I will try to explain it in more detail.  The problem happens when you use any of the following methods to start playing the .AC3 file:

1. Press the Play button.
2. Double-click it in the playlist.
3. Press the Next button.
4. Press the Previous button.

In addition, the behavior depends on whether the sound card is set to 44.1kHz or 48kHz before you start playing it.

If the sound card is set to 44.1kHz before you start playing it, then foobar2000 sets the card to 48kHz, which is the correct sampling rate.  However, the progress slider and the elapsed time in the status bar will get stuck after 1 second.  foobar2000 continues to play the file anyway.  When the end of the file is reached, foobar2000 will not automatically play the next file in the playlist.  It just stops completely.

Or, if the sound card is set to 48kHz before you start playing it, then foobar2000 sets the card to 44.1kHz, which is the incorrect sampling rate.  However, there is an easy way to work around this situation.  While it is playing, you can simply press Pause twice (or press Pause and then Play), which causes foobar2000 to set the card to 48kHz, which is the correct sampling rate.  In this case, the progress slider and the elapsed time in the status bar will not get stuck.  foobar2000 will automatically play the remaining files in the playlist as well, and it will play them with no problems.

I figured out that the best way to start playing a 48kHz .AC3 file is to perform these three steps:
1. Start playing it.
2. If it is playing at 48kHz, then start playing it again, so it is playing at 44.1kHz now, even though it is incorrect.
3. Press Pause twice, so it is playing at 48kHz now, which is correct.

By the way, I also tried playing MPEG Audio files by renaming them to .SPDIF.  It seems that foobar2000 is sending audio to the sound card at the correct sampling rate, but the external decoders do not seem to be receiving or recognizing the audio.

foo_spdif - SPDIF support for foobar

Reply #15
Ops, that is very very odd what you have discovered
Thanks for detailed explanation of the problem. I will try to do something about it.
To be shure, does it mean that if you don't click anything (just let the playlist play itself continously) then everything is ok?
Does the problem become only when you are changing from one playing track to another or is it present also when you are starting to play from silence (stopped state)? Could you test it again with output plugin set to null renderer?
And also I would like to know if the <FORCED!> tag is visible at any time in the status bar.

About mpeg audio, does it mean that your receiver is capable of decoding mpeg audio? Because mine simply is not

foo_spdif - SPDIF support for foobar

Reply #16
Ops, that is very very odd what you have discovered
Thanks for detailed explanation of the problem. I will try to do something about it.
To be shure, does it mean that if you don't click anything (just let the playlist play itself continously) then everything is ok?

Everything is OK if I just let the playlist continue automatically from file to file.  I can click on the progress slider, and everything is still OK.
Quote
Does the problem become only when you are changing from one playing track to another or is it present also when you are starting to play from silence (stopped state)?

The problem happens in both of those cases.
Quote
Could you test it again with output plugin set to null renderer?

I will test that.
Quote
And also I would like to know if the <FORCED!> tag is visible at any time in the status bar.

I never saw the tag, but I wasn't always looking for it.
Quote
About mpeg audio, does it mean that your receiver is capable of decoding mpeg audio? Because mine simply is not

I have connected to two devices: a Denon AVR-3806 receiver and a JVC SU-DH1 headphone adapter.  I am not sure if the Denon supports any MPEG audio format.  The owner's manual states: "MUSE 3.1 and MPEG multi-channel audio are not available to North American consumers – same is true for Dolby’s AAC."  In addition, the serial protocol manual states that MPEG-2 AAC is "Invalid at AVR model." It is not clear if this means that the Denon does not support MPEG audio at all, or just does not support MPEG-2 AAC in particular.  As for the JVC, the owner's manual states that it supports MPEG-2 AAC, up to 5.1 channel.  It has an LED indicator labeled "MPEG-2 AAC" that is supposed to light up, but I have not seen it light up at all.  Anyway, it seems that they are not receiving any audio, since nothing lights up, and there is just silence.

foo_spdif - SPDIF support for foobar

Reply #17
Could you test it again with output plugin set to null renderer?

I tested Null Output.  The progress slider and elapsed time never get stuck, and it seems to be playing at the correct sampling rate, or at least the total elapsed time seems to be accurate.

foo_spdif - SPDIF support for foobar

Reply #18
So it looks like some kind of incompatibility with your asio output but I have also found some weak points in the source code that may cause your problem. I going to rewrite part of the plugin but unfortunately it may take a little longer.

foo_spdif - SPDIF support for foobar

Reply #19
To be more specific, the problem happens when I play padded and unpadded 48kHz AC3 files with these extensions: .AC3, .AC3WAV, .SPDIF, and .WAVAC3.

(Padded files are files that have been padded with zeros in order to match the size of a PCM stream.)

The problem does not happen when I play padded .WAV files.  For example, I can simply change the extension of a padded file from .AC3WAV to .WAV, and the problem goes away.  In fact, I can play padded .WAV files without even using foo_spdif, since foobar2000 just passes it through as if it were PCM audio.

foo_spdif - SPDIF support for foobar

Reply #20
I also tested 48kHz DTS files.  Same problem.

44.1kHz DTS files have no problems though.

foo_spdif - SPDIF support for foobar

Reply #21
I hope foo_spdif_v0.3 will help on that.

foo_spdif - SPDIF support for foobar

Reply #22
foobar 0.9.4f + foo_spdif_v0.3 + foo_input_dts 0.1.7
dts file 44100 works fine, but i had to rename my .dts files to .spdif

thanks for plugin !

foo_spdif - SPDIF support for foobar

Reply #23
When I play my AC3 files with creative mediasource (windows XP, Creative X-Fi, digital bitstream output activated), I get a pop-up "Dolby Digital Bitstream Out" and the display on my Denon AVR 1706 Receiver reads "Dolby Digital EX". In this condition, music sounds perfect through my six speakers, loud, clear and integrated, sooo satisfying. In this mode, I can control music's volume only through the receiver controls.

Same effect obtained with Zoom Player and Ciberlink Power DVD.

With Foobar and spdif plugin (I tried Direct Sound, Kernel Streaming and Asio aoutput) I get only standard Playback, Receiver applies its PLII or NEO 5x1 effects, so no way to hear my AC3 as they.

My question is if this spdif passtrough plugin can send the ac3 files directly to the receiver as Dolby Digital bitstream from Foobar or I'am misunderstanding something.


Sorry Rozzo, I missed your post.

For me it looks like the spdif plugin doesn't work at all. Did you try to rename your ac3 files with .spdif extension?
By the way, you are right, spdif plugin sends ac3 files directly to your external receiver without decompressing it. It doesn't  even use foobar's output plugin but its own. You can switch foobar's output to "null output" to test if spdif plugin really do its job.
And of course, your receiver should indicate Dolby Digital ® logo.

foo_spdif - SPDIF support for foobar

Reply #24
I hope foo_spdif_v0.3 will help on that.

v0.3 works great for me.  I no longer have problems playing 48kHz AC3/DTS files.

Thank you!!!


By the way, you mentioned this on your site:
- dropped support for mpeg audio since the main idea is to pass-through multi-channel audio

Some MPEG audio formats support multi-channel, such as MPEG-2 AAC.  I think it would be useful if foo_spdif could pass through those multi-channel formats to the receiver (even though some receivers cannot decode them).