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: FLAC Souce DShow filter & ACM Codec (Read 11208 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

FLAC Souce DShow filter & ACM Codec

Hi,
Here's some FLAC tools I've been working on.

FLAC Souce DShow filter
Download
Known Issues:
- Sometimes crashs when seeking near the end of the file.

FLAC ACM Codec
Download

Have fun testing

FLAC Souce DShow filter & ACM Codec

Reply #1
I can't play the files which contains Japanese character in their filename or path. 
I tried MPC.

FLAC Souce DShow filter & ACM Codec

Reply #2
Quote
I can't play the files which contains Japanese character in their filename or path.  
I tried MPC.

Yes, these are non-Unicode buids. I hope to have Unicode support in the next version.

FLAC Souce DShow filter & ACM Codec

Reply #3
Mm, after the playback ends (in graphedit) the graph remains in "running" state. When I click "Stop" the whole Windows crashes 

FLAC Souce DShow filter & ACM Codec

Reply #4
Quote
Mm, after the playback ends (in graphedit) the graph remains in "running" state. When I click "Stop" the whole Windows crashes 

Opps  It wasn't always signaling the end of the file correctly. It's fixed and will be in the next version.

FLAC Souce DShow filter & ACM Codec

Reply #5
I just installed the codec and it works except for some seeking issues. When seeking quickly to the end of a file in WMP9 I get a crash. When I load a playlist of flac files WMP9 hangs at the end of each file until I manually select "next track". If I try to stop playback of  a file in WMP9 I get:

"wmplayer.exe - Application Error

The instruction at "0x01783324" referenced memory at "0x0187460f". The memory could not be "written".

Click on OK to terminate the program
Click on CANCEL to debug the program"

Results with Media Player Classic :

"MPlayerc.exe - Application Error

The instruction at "0x004e8aa9" referenced memory at "0xa855c000". The memory could not be "written".

Click on OK to terminate the program
Click on CANCEL to debug the program"

The correct length of time for the file appears in MPC but it freezes with no playback and crashes.

Playback in VLC is OK unless quickly seeking towards the end of the file which causes VLC to hang without any error message.

FLAC Souce DShow filter & ACM Codec

Reply #6
Quote
I just installed the codec and it works except for some seeking issues. When seeking quickly to the end of a file in WMP9 I get a crash. When I load a playlist of flac files WMP9 hangs at the end of each file until I manually select "next track". If I try to stop playback of  a file in WMP9 I get:

"wmplayer.exe - Application Error

The instruction at "0x01783324" referenced memory at "0x0187460f". The memory could not be "written".

Click on OK to terminate the program
Click on CANCEL to debug the program"

Results with Media Player Classic :

"MPlayerc.exe - Application Error

The instruction at "0x004e8aa9" referenced memory at "0xa855c000". The memory could not be "written".

Click on OK to terminate the program
Click on CANCEL to debug the program"

The correct length of time for the file appears in MPC but it freezes with no playback and crashes.

MPC crashing with the Audio Switcher enabled and WMP not going to the next track is  now fixed in v0.3 Beta 3
This release still doesn't support Unicode filenames. I did add support but I had to remove it for seeking to work without crashing.

Quote
Playback in VLC is OK unless quickly seeking towards the end of the file which causes VLC to hang without any error message.
VLC doesn't use DShow, but it does use libflac for decoding as I do in the DShow Source Filter. So the seeking problem may be a problem in libflac.

FLAC Souce DShow filter & ACM Codec

Reply #7
Quote
Quote
Playback in VLC is OK unless quickly seeking towards the end of the file which causes VLC to hang without any error message.
VLC doesn't use DShow, but it does use libflac for decoding as I do in the DShow Source Filter. So the seeking problem may be a problem in libflac.

Yes, this is a bug in libFLAC that has been fixed in CVS.  The workaround is to limit the requested sample to total_samples-1 when calling the seek routine.

Josh

FLAC Souce DShow filter & ACM Codec

Reply #8
Quote
... fixed in CVS ...

Are there any other differences between CVS and 1.1.0?
Also how tested is the seekable_stream_decoder interface?
Because for Unicode support I tried to switch from the file_decoder to the seekable_stream_decoder. But when it does any seeking I get memory access errors or a debug memory heap errors.

FLAC Souce DShow filter & ACM Codec

Reply #9
It now has a NSIS installer to make installing and uninstalling easier.
DShow FLAC Source Filter v0.3 Beta4
Code: [Select]
Change Log
- Workaround for last sample seek bug
- ReplayGain support
- Added page with Infomation about currently playing file. Ex. Sample Rate, Avg Bitrate, ...


For the ReplayGain I used/followed infomation in the replaygain_synthesis.h and used the functions in replaygain_synthesis.c to do the actual up/down gain.

FLAC Souce DShow filter & ACM Codec

Reply #10
I just noticed this thread, and must say that I am impressed. Long ago there was some discussion on HA about Steve LHomme's working template for a FLAC ACM codec (in this thread), and since his focus had shifted to the development of matroska - and since the only possible use some folks could see for a lossless codec was embedding audio in an ACM! - the concept seemed stillborn at best. But I'd long hoped someone with the programming ability to do so would revive it, for the purpose of allowing non-matroska'd applications (such as SoundForge or Wavelab, or any other ACM-compatible audio editor) to use lossless compression. Thank you!

  I've not yet had an opportunity to test this codec, and it may be a day or two before I will be able to do so, so I have a few questions for anyone who may have already played with the ACM version:

  1) Is the ACM restricted to storing FLAC in a *.wav container, or is it able to read/write *.flac natively?

  2) Which version of the reference library is used?

  3) Are there any functional limitations? (Meaning, can one access all of the existing command-line functionality, or is the codec's interface restricted to compression levels -0 through -8 in their unmodified form? No real complaints if this is the case, since -8 is what I use as a personal default... but I am naturally curious as to how the interface has been structured.  )

  Once more, a sincere "thank you" for your continued work on this project!

    - M.

Edit: Fixed a broken link in my original post.

FLAC Souce DShow filter & ACM Codec

Reply #11
Quote
  1) Is the ACM restricted to storing FLAC in a *.wav container, or is it able to read/write *.flac natively?

It can be used with any container that can use ACM codecs. So no it doesn't write *.flac files directly. But the DShow filters can, (r/w).
Quote
  2) Which version of the reference library is used?

libflac 1.1.0, the latest offical release
Quote
  3) Are there any functional limitations? (Meaning, can one access all of the existing command-line functionality, or is the codec's interface restricted to compression levels -0 through -8 in their unmodified form? No real complaints if this is the case, since -8 is what I use as a personal default... but I am naturally curious as to how the interface has been structured.  )

It uses the default -5 level compression level.

FLAC Souce DShow filter & ACM Codec

Reply #12
Quote
Quote

  1) Is the ACM restricted to storing FLAC in a *.wav container, or is it able to read/write *.flac natively?

It can be used with any container that can use ACM codecs. So no it doesn't write *.flac files directly. But the DShow filters can, (r/w).

In that case, is there any possibility to modify this behaviour so that the FLAC stream could be written natively? Barring that, would it be feasible to create a FLAC-*.wav -> FLAC-*.flac conversion tool (similar in functionality to Steve LHomme's mpa2wav)?
Quote
Quote

  3) Are there any functional limitations? (Meaning, can one access all of the existing command-line functionality, or is the codec's interface restricted to compression levels -0 through -8 in their unmodified form? No real complaints if this is the case, since -8 is what I use as a personal default... but I am naturally curious as to how the interface has been structured.  )

It uses the default -5 level compression level.

Along the same lines, would it be possible to add at least a rudimentary slider, so that compression levels -0 through -8 could be selected in the codec's configuration?

  Even if these additions are added to the "to do as time allows" list, they would be much appreciated. Thank you!

    - M.

FLAC Souce DShow filter & ACM Codec

Reply #13
The latest rev (v0.3-Beta4) still causes MPC to crash when seeking. Seekiing doesn't work at all anymore in WMP9. The seek bar doesn't register any movement and any attempt to manually seek causes an immediate crash of WMP9,

FLAC Souce DShow filter & ACM Codec

Reply #14
Quote
Quote
... fixed in CVS ...

Are there any other differences between CVS and 1.1.0?

there are a lot of little bug fixes.  the one big thing is Ogg FLAC seeking.  you can grab the nightly tarball and do a 'cvs diff'.

Quote
Also how tested is the seekable_stream_decoder interface?
Because for Unicode support I tried to switch from the file_decoder to the seekable_stream_decoder. But when it does any seeking I get memory access errors or a debug memory heap errors.

it's hard to answer that question, but you can try examining or running the test suite.  I don't know of any problem related to unicode in the decoders.

Josh

FLAC Souce DShow filter & ACM Codec

Reply #15
Quote
The latest rev (v0.3-Beta4) still causes MPC to crash when seeking. Seekiing doesn't work at all anymore in WMP9. The seek bar doesn't register any movement and any attempt to manually seek causes an immediate crash of WMP9,

Install K-Lite Codec Pack 2.21 rc19f,and the problem could be solve.

K-lite Codec Pack 2.21 rc19f

FLAC Souce DShow filter & ACM Codec

Reply #16
Quote
Quote
The latest rev (v0.3-Beta4) still causes MPC to crash when seeking. Seekiing doesn't work at all anymore in WMP9. The seek bar doesn't register any movement and any attempt to manually seek causes an immediate crash of WMP9,

Install K-Lite Codec Pack 2.21 rc19f,and the problem could be solve.

K-lite Codec Pack 2.21 rc19f

Don't install the f*cking K-lite codec pack! It will definately screw your system up. Codec packs don't solve problems! They create problems! Everybody creating codec packs should be executed for crimes against humanity. If you want to install a codec pack, you should be ready to do a fresh installation of windows.

FLAC Souce DShow filter & ACM Codec

Reply #17
True True True    Codec packs are plain evil 

FLAC Souce DShow filter & ACM Codec

Reply #18
Quote
Quote
It can be used with any container that can use ACM codecs. So no it doesn't write *.flac files directly. But the DShow filters can, (r/w).

In that case, is there any possibility to modify this behaviour so that the FLAC stream could be written natively? Barring that, would it be feasible to create a FLAC-*.wav -> FLAC-*.flac conversion tool (similar in functionality to Steve LHomme's mpa2wav)?

I will answer this question best i can. Well, first of all you needed to make a new app, which would be able to use ACM codecs, and write .flac files .... which makes no sense, because such a tool could implement direct FLAC writing, without the ACM codec.

A conversion tool from a WAV/OGM/MKV containing FLAC, to a real .FLAC file should be well possible i guess, maybe its already possible using DirectShow, by using jcsston's FLAC de/encoder filters, linked to a MKV/WAV/OGM parser filter, in a transcoding graph on Graphedit. I havent tested that yet, but dont see any reason why it shouldn't work .....

FLAC Souce DShow filter & ACM Codec

Reply #19
Quote
... Barring that, would it be feasible to create a FLAC-*.wav -> FLAC-*.flac conversion tool (similar in functionality to Steve LHomme's mpa2wav)?...

flac2wav2flac v0.1

FLAC Souce DShow filter & ACM Codec

Reply #20
@jcsston : could you provide a new compile for CoreFLAC_ACM ? The link above is dead...

Thanks.

FLAC Souce DShow filter & ACM Codec

Reply #21
I've uploaded the flac acm and flac2wav2flac here

FLAC Souce DShow filter & ACM Codec

Reply #22
ok...thank you very much

 

FLAC Souce DShow filter & ACM Codec

Reply #23
how do i remove the acm codec once its installed?

edit: found it!