1
Lossless / Other Codecs / Re: HALAC (High Availability Lossless Audio Compression)
Last post by Hakan Abbas -In fact, since I have arranged all processes in my own opinion, such incompatibilities can be. In this form, it is a bit difficult to use without loading the whole source file. In fact, what was confusing things was whether the data source would be a file or any stream.
Frame size is 1 MB WAV data. In other words, the amount of data that needs to be decoded/transmitted as a HALAC is roughly half of it. If necessary, I can reduce it and make it possible to enter the encoder as a parameter. And the decode of this data does not exceed one percent of the seconds(1 thread) even on a computer below normal.
According to my research, it should contain the information required to be decoded independently for each frame for the correct streaming (number of channels, bit depth, size, mode ...). If so, independent packages can be solved in order of sending. In this case, it may be necessary to determine whether or not it is worked on the file or on any stream. If there is no process on a file, the header part will be disabled.
The following functions may remain for a HALAC/WAV file. For this information, it is sufficient to read the maximum first 64 kb part of the source file. In fact, if the file format is known, it can also be reached directly.
"CHECK_HALAC, GET_HALAC_VERSION, GET_HALAC_MODE, GET_WAV_FILE_SIZE, GET_WAV_DATA_SIZE, GET_CHANNELS, GET_SAMPLE_RATE, GET_BIT_COUNT, GET_HALAC_FRAME_COUNT, GET_HALAC_FRAME_SIZES, GET_METADATA_SIZE, GET_METADATA"
The next process is to focus on the first frame in the source file (seek). For this, a starting address and size must be offered. Thus, only the specified number of frames/data can be read and decoded.
I will make the necessary arrangements as I mentioned. For the streaming harmony, I will leave it to the next version as I need to change the frame structure (for 0.2.9).