Commit graph

71 commits

Author SHA1 Message Date
DataHoarder 42f940f815
Update module url 2022-07-26 16:14:37 +02:00
mewmew 3b70b1df45 flac: fix golangci metalint issues 2018-08-18 01:20:48 +09:00
Henry Eklind 0dc1119122
denser error handling 2016-07-22 00:56:37 +02:00
mewmew 306014abef flac: Add preliminary encoding support.
Support for encoding metadata has been added.

Proper support for encoding audio samples is yet to be
implemented. For now, simply copy the original encoded
audio data from the source FLAC file.

The API mirrors that of image.Encode.

Updates #14.
2016-07-20 06:38:19 +02:00
mewmew 3f1d1096d8 internal: Add bits and hashutil packages to make the flac package self-contained. 2016-04-05 02:40:46 +02:00
mewmew 9970b89a55 flac: Drop use of gopkg.in in import paths. Rely on vendoring instead.
ref: azul3d/engine#1
2016-03-07 00:06:54 +01:00
mewmew 711a21c5d6 flac: Add API examples. Fixes #11. 2016-02-11 01:23:11 +01:00
mewmew e95c34c138 all: Update godoc links to use gopkg.in/mewkiz/flac.v1 2015-01-30 01:58:04 +01:00
mewmew 50ad5a4321 flac: Use versioned imports. 2014-09-30 02:24:15 +02:00
mewmew 03e3751e96 meta: Fix broken link. 2014-08-08 08:55:46 +02:00
mewmew d97155529f flac,frame,meta: Fix display of links. 2014-08-08 08:52:08 +02:00
mewmew 7a33256cf7 meta: Return io.ErrUnexpectedEOF if EOF occurs in the middle of a metadata block. 2014-08-08 06:42:26 +02:00
mewmew 654f26264a frame: Return io.ErrUnexpectedEOF if EOF occurs in the middle of an audio frame. 2014-08-08 05:33:21 +02:00
mewmew 88de0bd4a7 meta: Add a brief introduction of the FLAC metadata format. 2014-08-08 02:38:26 +02:00
mewmew c1df916946 meta: Return partially populated Block on errors from New and Parse. 2014-08-06 14:17:28 +02:00
mewmew 019a82fd7c meta: Fix copy-paste bug in parseHeader. 2014-08-06 08:27:35 +02:00
mewmew 9c19fb744f meta: Implement CueSheet parsing. 2014-08-06 07:19:49 +02:00
mewmew 93bed24a71 meta: Implement parsing of VorbisComment. 2014-08-06 06:43:28 +02:00
mewmew aedd0b7638 meta: Implement parsing of StreamInfo. 2014-08-06 05:56:33 +02:00
mewmew cc07fad5ef meta: Implement the Skip and verifyPadding methods of Block. 2014-08-06 05:31:53 +02:00
mewmew 92d79ca4d7 meta: Implementation the Parse and parseHeader methods of Block. 2014-08-06 05:07:31 +02:00
mewmew c28bc3908c meta: Minor update of comment. 2014-08-06 02:25:40 +02:00
mewmew 43e6d54a86 meta: Allocate Block in New. 2014-08-06 02:18:34 +02:00
mewmew 8fbf78c3e2 meta: Add VorbisComment and VorbisTag definitions. 2014-08-05 23:49:59 +02:00
mewmew 41e3d627da meta: Initial version of the new meta API. Updates issue #4. 2014-08-05 22:51:36 +02:00
mewmew 51d342ff4b flac: Clean start in preparation for the new API. All functionality will be back ported later on. 2014-08-05 21:51:52 +02:00
mewmew f4783e5acd meta: Make unknown application IDs and reserved block types non-fatal errors. Add test cases. 2014-08-05 17:23:42 +02:00
mewmew 6d8d6f28a4 frame: Implement rice2 decoding. 2014-08-03 15:59:00 +02:00
mewmew caaecdbd81 flac,meta: Relax input requirements from io.ReadSeeker to io.Reader. 2014-08-02 22:48:55 +02:00
mewmew 1f8a934c8e meta: Rename metadata body parsing function from NewXxx to ParseXxx. 2013-11-04 09:22:42 +01:00
mewmew def310f107 meta: Update comments. 2013-11-04 08:13:46 +01:00
mewmew 8e8b46e93e meta: Exclude padding from TypeAll and add TypeAllStrict which includes padding. 2013-11-03 13:01:44 +01:00
mewmew 88c2adcd20 flac,meta: Update documentation. 2013-10-31 00:16:12 +01:00
mewmew 98a2673c07 meta: Use bit.Reader from github.com/eaburns/bit. 2013-10-31 00:09:26 +01:00
mewmew 3dda414a47 flac,meta: Parse metadata block bodies based on a provided BlockType bitfield. 2013-10-30 23:55:42 +01:00
mewmew 1cfd2abe1e meta: Make BlockType a bitfield. 2013-10-30 22:45:22 +01:00
mewmew f583bf6928 all: Fix issues located by golint.
- "error strings should not end with punctuation"
2013-10-29 14:45:05 +01:00
mewmew 9414c933cf meta: Split parsing of block bodies into separate files based on block type. 2013-10-29 14:32:12 +01:00
mewmew 447c44b742 meta: Improve documentation and move blockTypeName out of BlockType.String. 2013-10-29 11:28:59 +01:00
mewmew 6384d7baa8 meta: Fix issues identified by vet. 2013-08-22 23:43:59 +02:00
mewmew 3311736ba4 meta: Minor cleanups of comments. Rename rsf.go to flac.go.
The name rsf will later be used for a command line tool, while the package will
be named flac.
2013-01-18 15:16:44 +01:00
mewmew f9c8e03b70 frame: Implement DecodeVerbatim and partly DecodeLPC. More details below.
meta:
	- Move reference links to bottom of comments.
frame:
	- Parse wasted bits-per-sample.
2013-01-17 05:41:57 +01:00
mewmew 7a4afa3c0e frame: Initial parsing of subframes implemented, read more below.
meta: Minor alteration of comment.
rsf: Start using frame.NewFrame.

The changes to frame are as follows:
	* Frame struct no longer contains Footer. Instead NewFrame returns an error
	  if the CRC-16 verification fails.
	* Implement NewFrame which parses audio frames. Each audio frame consists of
	  a frame header, one subframe per channel and a footer containing a CRC-16
	  checksum.
	* Initial implementation of NewSubFrame which parses subframes. Currently
	  only the easiest case is fully supported.
		- Constant encoding is fully supported.
		- Fixed encoding can currently decode the "warm-up" samples. Rice0 and
		  rice1 still have to be implemented for full support.
		- LPC - not yet implemented.
		- Verbatim - not yet implemented. This one should be easy though.
	* NewSubHeader has almost been fully implemented. Only
	  "wasted-bits-per-sample" remains.

Note: This code uses the bitstream Reader from "github.com/mewkiz/pkg/bit",
which is convenient but also inefficient. When decoding has been fully
implemented we should use profiling to find the bottlenecks.
2013-01-15 04:15:39 +01:00
mewmew 9fc694ff9e meta: Simplify initialization of the LimitReader. 2012-11-14 19:09:09 +01:00
mewmew 88300f51e6 meta: Corrected error message. 2012-11-14 07:21:54 +01:00
forsoki 3c43bd0a81 meta: Handle invalid characthers in Picture 2012-11-13 07:37:09 +01:00
mewmew 1ae68c3ce4 meta: Handle invalid characters in CueSheet. 2012-11-13 00:43:03 +01:00
forsoki 4f4ffff10c meta: ErrReservedNotZero renamed to errReservedNotZero for extra clarity that it's a function scope variable. 2012-11-12 15:31:30 +01:00
mewmew b26ad54647 meta: Use function scoped error value in NewCueSheet to avoid repetitions. 2012-11-12 10:48:35 +01:00
mewmew 689efab239 meta: Corrected parsing of VorbisComment. Strings are not NULL terminated. 2012-11-12 10:16:35 +01:00