Skip to main content

Topic: foo_input_ds.dll & foo_input_mkx.dll (Read 8009 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • buktore
  • [*][*][*][*][*]
foo_input_ds.dll & foo_input_mkx.dll
This is not by me.

http://haali.net/fb2k

I didn't tried foo_input_mkx.dll yet cause i don't have the files. but "listen" to VDO file (MKV AVI it's not playing VDO part) with foobar is surprisingly pretty neat. I tried throw some MKV to foobar and it's show up as chapter (never tried this before). when i play them, ffdshow popup and it can play just fine with gapless playback too.

  • Slotos
  • [*][*][*][*]
foo_input_ds.dll & foo_input_mkx.dll
Reply #1
I can't see real use for direct show input plugin. Except for listening for music from clips if you're too lazy to demux it.

As for matroska plugin good old foo_input_matroska superseeds it. This one has quite weird tagging scheme. I don't see any reason to retag file which was muxed with cue and should have at least %artist%, %album% and %title% info. Actually I don't know if it has any tagging support at all, I've deleted it right after reloading my mka files returned empty tags values.
  • Last Edit: 22 December, 2007, 12:48:38 AM by Slotos
Sharing delusions since 1991.

  • Kohlrabi
  • [*][*][*][*][*]
  • Global Moderator
foo_input_ds.dll & foo_input_mkx.dll
Reply #2
Since this is the not-banned method of playing back matroska I tried this plugin. It works pretty well, it even shows embedded album art pictures. Only problem is that it only provides read-only abilities for matroska, meaning I can't rewrite file tags inside foobar2k. Does anyone know if there are plans of adding writing functionality?
It's only audiophile if it's inconvenient.

  • drbeachboy
  • [*][*][*][*][*]
foo_input_ds.dll & foo_input_mkx.dll
Reply #3
@Peter or Haali



When I use "File Operations" in fb2k_v0.9.5.2 to move Matroska files, I get a file sharing violation. I am using foo_input_mkx.dll version 0.1. Is this a known limitation with this plugin? If it is known will it be fixed soon?



Thanks!
Surf's Up!
"Columnated Ruins Domino"

foo_input_ds.dll & foo_input_mkx.dll
Reply #4
I fiddled a little bit around with this plug in as I own some music DVDs mostly with clips. I like to have the clips but to have them at the same time playable and organized within fb2k.

I made some experiments with this DVD:

http://www.nuclearblast.de/releases/1651

The audio on the dvd is actually stored as pcm 48kHz stream so I thought it'd be nice to convert this to flac. Flac unfortunately is not possible to be muxed into a mp4 container which would be much more easy to handle within fb2k. So I finally went for the combination of  x264 + flac muxed into a matroska container.

The clear disadvantage here is the lack of tagging support with all it's consequences:
  • no replaygain support
  • read only tags
  • the tags of the flac file itself are not recognized either

As a workaround the only usable solution is to use the matroska shell extension which can be found here: http://www.matroska.org/downloads/windows.html
The tool as a shell extension is a little bit weird to use because it gives you already a warning that it's outdated when trying to tag files. Otherwise it's a pain to use atm because you can't tag files in batch mode with the only option left  to import and export xml files.
Once these tags ared added the  tags are properly shown within foobar (but again read-only).

This leaves me to my wish list:
  • tag support (write and read)
  • support of multible audio tracks if they exist
  • support for tags of files within the container

Conclusion: The whole thing is somehow usable atm but clearly lacks some of the benefits and progress the mp4 container made already.

I would be interested to know if someone else made some observations on this topic.

Chris

  • Yirkha
  • [*][*][*][*][*]
  • Moderator
foo_input_ds.dll & foo_input_mkx.dll
Reply #5
Matroska files have been supported natively since 0.9.6, tag writing included.
Full-quoting makes you scroll past the same junk over and over.

foo_input_ds.dll & foo_input_mkx.dll
Reply #6
Matroska files have been supported natively since 0.9.6, tag writing included.

Thanks for the information. I didn't gert that because I was still stuck to my old SCPL configuration. I guess it is time to make a switch now!

  • EpicForever
  • [*][*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #7
I know, I am an archeologist but maybe someone else have similar problem and solved it or at least will benefit from my post...
This plugin worked great till some moment. It provided audio from all my AVI / MPEG music videos nearly flawlessly till - I don't know, maybe beginning of 2017, maybe end of 2016. Right now when I try to play audio from my video files, that were normally played back with this plugin I always have following errors:
Unable to open item for playback (Unsupported file format):
or
Unrecoverable playback error: <unknown error>
Why?


My PC specification:
Windows 7 x64 Polish (MSDNAA sourced) with all security fixes and most important updates installed (except .NET 4.7, GWX/CEIP/other MS spyware).
Hardware:
- nVidia 1050 Ti with not the latest drivers (382.05)
- ESI Juli@ soundcard with rather latest drivers v 1.21 (2 or 3 years old)
Software:
- foobar 1.3.17 beta 1 (but problems existed in 1.3.15 and 1.3.16 - just didn't have time before to investigate it)
- K-Lite Codec Pack, with Media Player Classic x64 1.7.13.1124 and nearly default codecs/filters selection (I deselect ACM audio codecs). During KLCP installation hardware decoding for video is chosen (DXVA2 Native Copy-Back).

Here you can read my post in other thread https://hydrogenaud.io/index.php/topic,113166.msg947490.html#msg947490
It looks like I had problem with DirectShow interface, but how it is possible when I install DirectShow filters with KLCP/MPC?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #8
Maybe you installed only 64-bit decoders, but not 32-bit ones?

  • EpicForever
  • [*][*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #9
After posting here I googled bit more and I came to your conclusion lvqcl, but it seems it must be something different. What I did a while ago was reinstalling KLCP again, choosing to install both x86 and x64 players - so I suppose installer installed this time both 32bit and 64bit decoders. I tested whole my video collection in MPC x86 and all files were played back correctly - so I assume 32bit decoders were indeed installed. But... even after PC was restarted audio was not played in foobar from all these .avi, .mpg, .mpeg, .m2v, .vob, .ts files. Neither with foo_input_ds nor in foo_video.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #10
Don't know about KLCP version of MPC-HC, but standalone player has integrated LAV filters. So it doesn't need DS filters installed into system.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #11
KLCP installer explicitly asks for installation of standalone filters, alongside with MPC execs - to be used in other players - like built in WMP. You can choose between LAV and ffmpeg versions, sometimes even Microsoft.

I have found the problem just a while ago. The problem is too many input plugins in foobar. This must have caused that something related to decoding via DirectShow was not able to be loaded thanks to beloved TLS slot limit.

I must confess. OK, why I use foobar? What was the initial trigger? Answer: SPC format. Before foobar I used some buggy Meridian Player for this purpose, together with Winamp for "everything else audio". My friend from dorm showed me foobar_0_8_3_special.exe and the magic that was hidden inside - everything, including my favorite SPC files from some SNES games could be playable there. Then he explained me ReplayGain and that convinced me that it is good choice. Winamp became completely obsolete for me. As my foobar awareness was growing I started trying to make it really "all-fcuk1n-audio-app" so I was installing EVERY input plugin that I had found on Components website. Reason? "my foobar must be capable of ANYTHING that contains any form of audio to be played". That was my philosophy. But "recently" (means: throughout last year) some of them were updated in such way, that they used several dependency dlls instead of being just 1-2 dll component. Also I tried to use some other special enhancements (DSPs, utilities) - or at least I was installing them, thinking that I will use them one day. Also operating systems change (introduction of Windows 10, which I use from time to time) and thus list of "system dlls" that must be loaded increases... All these things caused that I reached the limit for DLLs that can be loaded to the program's memory (TLS slot limit).
I while ago I decided to unload/remove all input dlls that are necessary to play formats that I honestly never play. 16 dlls less. Few more DSPs and voilla - I can now play back audio from my Music Videos again.
Not so long time ago, on Windows 10 I had to do the same with first portion of those "maybe I will use it one day" DSPs, as Waveform Seekbar was unable to load because of them.

This is a lesson to all foobar users, especially new ones: really install only things that you really use. If you install something just to test it and it turns out that finally you don't use it - simply remove it. Foobar has loads of plugins. Searching for them extensively, you can easily reach TLS slot limit. For those thinking about "what has TLS to do with foobar plugins?" - no, it is not about Transport Layer Security. It is https://en.wikipedia.org/wiki/Thread-local_storage .

However, what I find is bit strange, that now I have to use both foo_input_ds and foo_video to have all those formats working. Especially .ts files rely on having both components loaded.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #12
Final post:
After testing my whole MVids library it turned out, that at this time really my installation of codecs/filters seems to be messed. Many .avi files couldn't be opened due to some reported errors in initial frames (error thrown, file skipped automatically). Others were completely freezing foobar (necessity to kill the process). None of the .avi/.mpg/.mpeg/.m2v files were searchable at this time. When I tried to seach in them, audio was tarting from the beginning. None of these behaviors is standard. In the past, when foo_input_ds was working flawlessly none of the files was able to kill foobar, and rather none was throwing errors about some incorrect frames. However, problem with files not being possible to search in has occurred before. So, I used mkvmerge with a command line input, to batch remux all these .avi/mpg/.mpeg./.m2v/.ts  files to .mkv containers. This also allows me now to use tagging...
Additional info:
1.  .ts files didn't required both foo_input_ds and foo_videoto be loaded. It was "even more dlls must be deleted from your installation" problem. Looks like MPEG Transport Stream required 1-2 dlls more to properly being opened and expose its audio stream...
2. .VOB files are rather non problematic when we talk about audio - easily openable with foo_input_ds, always searchable. Unfortunately most of them cut at the end unexpectedly (foobar just skips 10-20 last seconds of file...)

EDIT:
I remuxed also VOB files to .mkv :) . Now I have normal filenames and tagging :)
  • Last Edit: 12 November, 2017, 06:28:24 AM by EpicForever

  • zeremy
  • [*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #13

This is a lesson to all foobar users, especially new ones: really install only things that you really use. If you install something just to test it and it turns out that finally you don't use it - simply remove it. Foobar has loads of plugins. Searching for them extensively, you can easily reach TLS slot limit. For those thinking about "what has TLS to do with foobar plugins?" - no, it is not about Transport Layer Security. It is https://en.wikipedia.org/wiki/Thread-local_storage .


How would someone debug if they have reached the TLS slot limit?
Is there some process management software / procedure that could display it?

  • Case
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #14
The limit people reach is caused by FLS, Fiber Local Storage. If it's not an obvious problem like failure to load component, you could use the method shown here.

Remember, this situation should be solved by foobar2000 v1.4 as it uses dynamic CRT linking. Core + components won't use multiple slots anymore and third party components can easily use dynamic linking too without worrying about user having to install runtimes or bundling huge additional runtime dlls.

EpicForever, couldn't you use foo_input_ffmpeg for your video files? FFmpeg should be able to handle pretty much anything DirectShow filters handle and since it's a separate process, it won't consume FLS slots.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #15
Yes Case, I tested it recently and it works well, especially in latest version (thing with reporting format names is nice change). However - as I said previously - for most of my collection of some old mpg/av/otheri files I decided to go remux to .mkv, which is natively supported in foobar. Anyway, due to some specific bugs in several files (which caused mkvtoolnix to fail remux operation on them), foo_input_ffmpeg is still a must for me :) . So foo_input_ds and relying on "sometimes broken DirectShow" became obsolete for me.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #16
and third party components can easily use dynamic linking too without worrying about user having to install runtimes or bundling huge additional runtime dlls.

What versions of MSVS are supported?

  • Case
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #17
The DLLs are from MSVS 2017 which is DLL-compatible with 2015.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_input_ds.dll & foo_input_mkx.dll
Reply #18
Some additional note:
I went to Windows 10 installation, because of Forza Horizon. Additionally I dug through foobar installation on that OS. I cleaned up components in similar manner as under Windows 7, with one exception  - I left there unconfigured foo_input_ffmpeg and I left there working foo_input_ds. I tested there a bunch of old, non remuxed Mvids awaiting for final removal.

Observations:
First of all - waveform seekbar works there very well (as it was usually, before I overloaded foobar with DLLs). All waveforms, for all supported video files are displayed and they don't disappear at any circumstances.
Then:
There are some files which are barely seekable (audio is reset to beginning upon any seek operation). But that changes when LAV Filters are re-installed from their separate installer (see below).
There are some files which incorrectly report their length, even after LAV reinstallation - they are cut by 20, 30, 45 seconds. What is specific: when all video files are played in foobar, in notification area I have just LAV Splitter and LAV Audio Decoder icons. But when some of these "broken" files come to its premature end - these icons start quickly appearing and disappearing with LAV Video Decoder showing up 2-3 times for an eye-blink. Waveform seekbar shows their waveform cut, accordingly to length reported on playlist, which is rather proper behavior.
That Westbam - Hard Times mvid reports proper length and is properly seekable, with proper waveform in seekbar displayed... So it is totally different to what is achieved through foo_input_ffmpeg as a data feed for foo_waveform_seekbar.

What I can say - both systems were installed at the same time, so I used the same KLCP installer on both, and used the same settings for installation. So I suppose this is KLCP installer that messes something in system (not the first one, but not all of them are such buggy). It may be also something with recent version of LAV filters, as in both cases (Win 7 & Win 10) installing just LAV Filters taken directly from their source doesn't change situation that much. I suspect it because afaik both KLCP installer and direct LAV installer install LAV in the same version, so that may suggest that it is this exact version of LAV to be blamed. Foo_input_ds relies on it and that's why there are some problems at least with certain files.