Author Topic: Compatible media players : Fixing Winamp Matrix Mixer (AC3Filter) SPDIF plugin  (Read 25887 times)

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Hi,

I'm looking for a media player to play my MP3s. I used to use Winamp 5.56 with the AC3filter plugin made by XilasZ ( http://ac3filter.net/forum/index.php?topic=848.msg2201#msg2201 ), but somehow this doesn't work anymore in Windows 7 x64 (RTM). Windows 7 also screwed up my SPDIF output and now sees it as a seperate audio device.

I'm looking for a media player which supports proper playlists (columns with information etc.) and output device selection. I'd also like the player to have support for manually choosing the AC3Filter output (I've set the filter merit to "prefer other filter" because I don't want WMP to use AC3Filter).

Media Player Classic doesn't have an advanced playlist, the rest of the program is fine. So if anyone knows a plugin which adds a nice playlist feature please let me know. Also, any other alternative to Winamp and WMP is welcome!
« Last Edit: September 23, 2009, 12:32:39 PM by wutr »

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #1 on: September 21, 2009, 01:10:43 PM »
Hi,

What exactly is not working anymore ? does it crash ?

I'll take a look at the last version of AC3filter.
If it's a bug on my plugin or in old version of ac3filter (the one i use), upgrading might work.

If it's related to 64bit, i'm afraid i can't do a thing. winamp is still in 32bit, so i think the plugins need to stay in 32bit (and i don't have a windows 64bit, so i can't try).

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #2 on: September 21, 2009, 01:59:11 PM »
Thanks for your reply, you might have noticed I sent you an email at sourceforge too.

Winamp doesn't crash when using the plugin, it just doesn't give any output. The out- and input bars move and the "Decoder info" boxes at the main and SPDIF tabs give no errors. I've set the settings in the Winamp plugin exactly the same as in AC3Filter configuration tool (which I use for setting the output for Media Player Classic and these settings work fine) as far as possible. Since there's no system tab in the plugin (or in the old version of AC3Filter?) I can't copy these settings, but I assume it won't make a difference since these settings would be Winamp specific.

I believe I'm using the 32bit version of AC3Filter, but I'll reinstall to make sure I really am.

Update: turns out MPC - Home Cinema was using the 64bit version. Uninstalled AC3filter, reinstalled it with only 32bit modules, reconfigured it and started MPC (not home cinema) and it works like a charm.. so hopefully a new 32bit plugin for Winamp will work as well :D

2nd Update: I thought it would be easier to just install 1.51a instead of creating a new plugin, so I did, and it turns out that this version also works without any problems... Any other ideas why Winamp doesn't want to play my music?

3rd Update: Now, this is just stupid. Turns out that when I set my SPDIF as default audio device in Windows and select "Speakers / Headphones" as default audio device in the Matrix Mixer Directshow configuration it works : / ... When I set the SPDIF device in Winamp, it keeps repeating 1 second of the music file over and over again (the 1st second, or if I start the playback halfway, the second where it started that time).
« Last Edit: September 21, 2009, 02:44:04 PM by wutr »

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #3 on: September 21, 2009, 03:34:06 PM »
What settings do you use ? post the decoder Info, maybe there's a clue.

I suspect spdif too, as i have almost nothing to test it, i wouldn't be surprised that it doesn't always work :p
(at home, i can test a little bit, as the plugin encode to ac3, pass it to the sound card as SPDIF, my audigy4 decode it, and play it through the 6 analog outputs.)

Does it works if you use analog outputs, and not spdif ?

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #4 on: September 21, 2009, 03:53:51 PM »
Allright, here's the decoder info:

Code: [Select]
Input: PCM16 2/0 (stereo) 44100
User: PCM16 3/2.1 (5.1) 48000
Output: SPDIF 3/2.1 (5.1) 48000

Use SPDIF
  SPDIF status: AC3 encode
  SPDIF passthrough for: AC3
  Use AC3 encoder (encode stereo PCM)
  Do not check SPDIF sample rate
  Do not query for SPDIF output support

Decoding chain:
- (PCM16 2/0 (stereo) 44100)
- Processor
- (Linear PCM 3/2.1 (5.1) 48000)
- Encoder
- (AC3 3/2.1 (5.1) 48000)
- Spdifer
- (SPDIF 3/2.1 (5.1) 48000)
- Dejitter
- (SPDIF 3/2.1 (5.1) 48000)

Filters info (in order of processing):

Processor:
- (PCM16 2/0 (stereo) 44100)
- PCM->Linear converter
- (Linear PCM 2/0 (stereo) 44100)
- Input levels
- (Linear PCM 2/0 (stereo) 44100)
- SRC
- (Linear PCM 2/0 (stereo) 48000)
- Mixer
- (Linear PCM 3/2.1 (5.1) 48000)
- Bass redirection
- (Linear PCM 3/2.1 (5.1) 48000)
- Dither
- (Linear PCM 3/2.1 (5.1) 48000)
- AGC
- (Linear PCM 3/2.1 (5.1) 48000)
- Delay
- (Linear PCM 3/2.1 (5.1) 48000)
- Output levels
- (Linear PCM 3/2.1 (5.1) 48000)

Encoder:
-

Spdifer:
Stream format: AC3 3/2.1 (5.1) 48000Hz
Bitstream type: byte stream
Frame size: 2560
Samples: 1536
Bitrate: 640kbps
SPDIF stream type: 0x1
Frame interval: 2560
Actual bitrate: 640kbps
Output format: SPDIF 3/2.1 (5.1) 48000Hz
SPDIF format: wrapped
Bitstream: 16bit LE
Frame size: 6144

Dejitter:
-

As you can see it upmixes 2.0 44.1KHz to 5.1 48KHz (48 is the only one that works via AC3Filter, normally 44.1 also works on my decoder).

I can't test 5.1 analogue, because I'm using a laptop which has an COAX SPDIF output at a docking station and no 5.1 analogue jacks.

Weird thing: VLC can play audio over SPDIF even though the selected plaback device (in VLC) is the "Speaker/Headphone" and not the SPDIF interface, so there is a way to do that (when using Windows XP it used to work like VLC sees it now: one audio device which has both "Speaker/Headphone" and "SPDIF" support).

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #5 on: September 21, 2009, 08:45:33 PM »
Everything seems to be ok.
As far as i know, spdif is just ac3 raw data, sent to the sound card as a stereo 16bit 48k signal, with just a flag saying "it's not a stereo signal, it need to be decoded".
(and the option "output spdif as pcm" remove this flag, so the sound card don't decode anything, and play weird noises in the speakers :crazy:).

So in my plugin, i do just that :
- i tell ac3filter to use spdif (so encoding to ac3, the flag, ...)
- i sent data encoded by ac3filter directly to directsound, as an SPDIF signal, using ac3filter
- i send dummy data in the winamp ouput plugin instead of the real signal (it produce weird noises)

*i don't use the output plugin for spdif, as it doesn't work at all (for me at least)

as i'm writing, i noticed that i play two things at the same time, the real signal to directsound directly, and a dummy signal to the output plugin (which also play with directsound). And now, i think it is REALLY a bad thing, don't know why i didn't see that before.

That might explain the weird part of your tests too.
When spdif is used in my plugin, the output plugin of winamp plays only a flat wav signal. If you set the winamp output plugin to SPDIF device, the device tries to decode the wav signal as if it was an ac3 encoded signal. And of course, it fails, and .... i have no idea, but nothing not good happens  :crazy:
And as there is only one SPDIF output possible at the same time, one signal take over the over one, unfortunately, the bad one (from the output plugin) take over the correct one in your case.

So if i'm right (don't know, i'm just guessing), if you use spdif, do not set the ouput plugin to SPDIF, and on my side, i should not use the output plugin at all  :)
« Last Edit: September 21, 2009, 08:47:24 PM by XilasZ »

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #6 on: September 21, 2009, 09:02:18 PM »
Wow! That's good thinking you did there.  : )

So, if I leave the settings as I have them right now (directshow output plugin set at "Speakers/Headphones") and if you manage to NOT use the output plugin it should work? Hopefully you have some spare time to try your solution. I'm really glad you are helping me out with this problem!

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #7 on: September 21, 2009, 09:43:31 PM »
it's simpler than that, just let directshow output plugin set at "Speakers/Headphones", and it should work.

The output plugin will play a dummy signal to the normal stereo output of your sound card. It absolutely useless, but it should not interfer with the good SPDIF signal anymore.

The current version of my plugin should work just fine, unless you set the device to SPDIF in the directshow output plugin  :bug:

Tell me if it works.

Now, time to sleep for me (i'm french), bye.

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #8 on: September 22, 2009, 08:00:39 AM »
Well, I hope you got a good night sleep, because sadly it still doesn't work   :/

I've set the directshow output to "Speakers/Headphones" like you said, but then my receiver also picks up that signal and "plays" the dummy signal which is no sound at all. The receiver also says it is playing stereo output (which is PCM over SPDIF?) instead of any kind of digital encoded audio...

While I'm writing I thought of this: AC3Filter uses directshow to output its SPDIF signal to (right?), but directshow is occupied because of the dummy signal. So maybe disabling the dummy signal will solve anything? I don't know exactly why u use the dummy signal, so maybe it will only make things worse, but if there's a simple way to accomplish this I'd like to give it a try!

I now also realized it's possible to play multiple sounds at the same time trough directshow, but is it possible that it doesn't accept multiple sounds from a single program through the same output device?

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #9 on: September 22, 2009, 08:47:04 AM »
Ok, so it seems the dummy signal is definitely taking over the real one.

try to use a null output plugin instead of out_ds.dll : http://www.winamp.com/plugins/details/28451 (you don't need any output plugin anyway).

The dummy signal will be lost in the void, and the good signal should survive (i hope)

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #10 on: September 22, 2009, 09:35:29 AM »
Selected the null output plugin in the configuration of Matrix Mixer plugin and selected Matrix Mixer as output plugin in the Winamp configuration. Doesn't work.

My decoder didn't even receive a signal trough SPDIF. Is it possible that all output (dummy + encoded) is directed into the output plugin selected in the Matrix Mixer config, instead of just the dummy signal?

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #11 on: September 22, 2009, 10:38:50 AM »
So there is something else.

And you said it works if you set the SPDIF as the default device in windows ?
I guess you should let it that way, you don't use the speakers/headphone of the laptop anyway.

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #12 on: September 22, 2009, 03:34:04 PM »
Well, that's the problem. I have different applications which I want to use the "Speaker/Headphones" (just the laptop speakers) all the time, since I'm not always connected to my docking station, or at night when the volume has to be low for noise abatement.

XilasZ

  • AC3Forum
  • Active user
  • *
  • Posts: 44
    • View Profile
Re: Compatible media players
« Reply #13 on: September 22, 2009, 08:42:01 PM »
Sorry, i can't test spdif at all (i don't have an external decoder), and i'm still on XP (without the strange audio system on vista/win7).

Anyway, we'll try something. I will remove what i changed in the original ac3filter code, maybe i broke something.
It's just 3 lines of code that i deleted before because without those 3 lines, spdif is working for me (my soundcard decode it instead of sending to the output). As spdif was working for other people as well, i let it that way.

I've put them back just for you : http://xilasz.free.fr/out_mixer.dll

SPDIF doesn't work anymore for me, but i hope it will work for you.

wutr

  • Active user
  • ***
  • Posts: 29
    • View Profile
Re: Compatible media players
« Reply #14 on: September 22, 2009, 09:13:04 PM »
Still no sound, just "playing" dummy output. But wow! Thanks for building this for me!

I had some new thoughts today though:

- AC3Filter in Matrix Mixer plugin supplies it's output to the audio device set as default in Windows (see previous posts)
- The dummy signal goes to the device preselected in directsound output plugin

- If default Windows device is the same as the preselected directsound device, the dummy signal overrides(or is it first come first served?) the AC3Filter output and plays an empty PCM sound.

Here's what I think MIGHT be possible solutions, providing that I don't know why you implemented the dummy signal:

1. Option to disable the dummy signal
2. Option to change the AC3Filter output device from default Windows to any audio device installed.
3. (Might work if you really need the dummy signal) Start the AC3Filter output BEFORE you start the dummy signal

4. A combination of all these.

Again, I'm really happy you are helping me with this and I'd like to help you with testing the best I can.

Ow and can you maybe explain a little bit more about why you use the dummy signal?