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: Directshow Playback (Read 3232 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Directshow Playback

Is there anyway to force foobar2000 to playback via directshow? I have the directshow component and I used to use the foo_input_mkx.dll for playback of mkv files. Between the two foobar2000 would play mkv files using ffdshow as the decoder. Now that the foo_input_mkx.dll is no longer required foobar2000, I assume, uses it's own decoder/codec for playback of mkv content.

The reason I'd sometimes prefer to play mkv files via directshow is I often convert video and often there's gaps in the audio or it's time stretched inside the video file or for some other reason demuxing and converting the audio contained in the video file directly produces a new audio file which isn't in synch with the video any more. To get around it I use a video converter program which allows me to force decoding via directshow, which produces a new audio file of the same length as the video, but it'd often be handy if I could use foobar2000 to convert the audio instead. I'd really like to be able to tell foobar2000 to play any video file via directshow.

Thanks.

Directshow Playback

Reply #1
Okay..... so I stuck the foo_input_mkx.dll in the user components folder and fired up foobar2000. It complained about the component being unnecessary and told me to remove it. Only while it was there foobar2000 used ffdshow to play mkv files once more. What I also discovered after removing it again is that when I restarted foobar2000 it still used ffdshow to play mkv files.

Thinking I may be mad I checked mkv playback with foobar2000 on a second PC and after adding and removing the foo_input_mkx.dll component I still have directshow playback on that PC too.

Anyone know how that all works? And if or how I can tell foobar2000 to follow suite for other video formats?


Directshow Playback

Reply #3
Maybe this plugin is what you need - http://www.hydrogenaudio.org/forums/index....showtopic=42705


Cheers.
I've installed it and will have a play with it later.

I'm still curious to know why foobar2000 would not play mkv files via directshow until I installed the old MKV plugin, then after removing the plugin it continued to play them via directshow.

I even discovered while messing around that the avs plugin has an effect in a way I don't understand. I removed the directshow plugin at one stage but after putting it back foobar wouldn't play mkv files via directshow any more. I went through adding and removing the mkv plugin again but this time it didn't work..... until I did it with the avs plugin removed. Only if the avs plugin was added last would foobar continue to play mkv files via directshow. If I installed it first, it wouldn't. If anyone knows how it all works.....

Directshow Playback

Reply #4
Well I can't rely on mkv files playing via directshow reliably. I discovered when I got it to work, playing an mkv with the wrong type of audio would break it again.

I'd still love to understand the "why" but I guess I'll be delving into AviSynth scripts more deeply soon.

Directshow Playback

Reply #5
Matroska support has been built in since 0.9.6, although I'm not sure when support for the .mkv extension was added. The built-in container handler only supports formats which provide packet decoder services, which includes MP3, AAC, Ogg Vorbis, FLAC, WavPack (I think) with the standard components, and AC3 and DTS with third party components.