openshot-audio  0.1.7
stream_encoder.h
Go to the documentation of this file.
1 /* libFLAC - Free Lossless Audio Codec library
2  * Copyright (C) 2000-2009 Josh Coalson
3  * Copyright (C) 2011-2014 Xiph.Org Foundation
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * - Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * - Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * - Neither the name of the Xiph.org Foundation nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef FLAC__STREAM_ENCODER_H
34 #define FLAC__STREAM_ENCODER_H
35 
36 #include <stdio.h> /* for FILE */
37 #include "export.h"
38 #include "format.h"
39 #include "stream_decoder.h"
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 
241 typedef enum {
242 
282 
288 extern FLAC_API const char * const FLAC__StreamEncoderStateString[];
289 
290 
293 typedef enum {
294 
352 
358 extern FLAC_API const char * const FLAC__StreamEncoderInitStatusString[];
359 
360 
363 typedef enum {
364 
378 
384 extern FLAC_API const char * const FLAC__StreamEncoderReadStatusString[];
385 
386 
389 typedef enum {
390 
398 
404 extern FLAC_API const char * const FLAC__StreamEncoderWriteStatusString[];
405 
406 
409 typedef enum {
410 
421 
427 extern FLAC_API const char * const FLAC__StreamEncoderSeekStatusString[];
428 
429 
432 typedef enum {
433 
444 
450 extern FLAC_API const char * const FLAC__StreamEncoderTellStatusString[];
451 
452 
453 /***********************************************************************
454  *
455  * class FLAC__StreamEncoder
456  *
457  ***********************************************************************/
458 
465 typedef struct {
466  struct FLAC__StreamEncoderProtected *protected_; /* avoid the C++ keyword 'protected' */
467  struct FLAC__StreamEncoderPrivate *private_; /* avoid the C++ keyword 'private' */
469 
520 
557 typedef FLAC__StreamEncoderWriteStatus (*FLAC__StreamEncoderWriteCallback)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data);
558 
592 
637 
656 
679 
680 
681 /***********************************************************************
682  *
683  * Class constructor/destructor
684  *
685  ***********************************************************************/
686 
695 
703 
704 
705 /***********************************************************************
706  *
707  * Public class method prototypes
708  *
709  ***********************************************************************/
710 
729 
745 
763 
775 
791 
803 
866 
881 
895 
911 
977 
989 
1007 
1021 
1033 
1047 
1070 
1093 
1105 
1121 
1204 
1214 
1226 
1239 
1258 
1268 
1278 
1288 
1298 
1308 
1318 
1328 
1338 
1348 
1358 
1368 
1378 
1388 
1398 
1408 
1418 
1431 
1494 
1562 
1597 
1632 
1664 
1696 
1724 
1750 FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, const FLAC__int32 * const buffer[], unsigned samples);
1751 
1783 
1784 /* \} */
1785 
1786 #ifdef __cplusplus
1787 }
1788 #endif
1789 
1790 #endif
FLAC_API const char *const FLAC__StreamEncoderWriteStatusString[]
Definition: stream_encoder.c:467
Definition: stream_encoder.h:368
FLAC_API FLAC__bool FLAC__stream_encoder_get_streamable_subset(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:1989
FLAC_API const char *const FLAC__StreamEncoderReadStatusString[]
Definition: stream_encoder.c:460
FLAC_API const char *const FLAC__StreamEncoderTellStatusString[]
Definition: stream_encoder.c:478
FLAC_API FLAC__StreamEncoderState FLAC__stream_encoder_get_state(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:1932
Definition: stream_encoder.h:265
FLAC_API unsigned FLAC__stream_encoder_get_sample_rate(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2021
FLAC__StreamEncoderMetadataCallback metadata_callback
Definition: stream_encoder.c:374
unsigned total_frames_estimate
Definition: stream_encoder.c:382
void(* FLAC__StreamEncoderMetadataCallback)(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data)
Definition: stream_encoder.h:655
FLAC__StreamEncoderTellStatus
Definition: stream_encoder.h:432
FLAC_API FLAC__uint64 FLAC__stream_encoder_get_total_samples_estimate(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2117
Definition: stream_encoder.h:252
Definition: stream_encoder.h:414
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_file(FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
FLAC_API FLAC__bool FLAC__stream_encoder_set_bits_per_sample(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1552
FLAC_API unsigned FLAC__stream_encoder_get_bits_per_sample(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2013
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_stream(FLAC__StreamEncoder *encoder, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)
Definition: stream_encoder.c:1237
unsigned frames_written
Definition: stream_encoder.c:381
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_FILE(FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
Definition: stream_encoder.h:333
FLAC_API FLAC__bool FLAC__stream_encoder_set_min_residual_partition_order(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1814
Definition: libFLAC/include/protected/stream_encoder.h:86
FLAC_API unsigned FLAC__stream_encoder_get_max_residual_partition_order(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2101
FLAC__int32 expected
Definition: stream_encoder.c:418
FLAC_API FLAC__bool FLAC__stream_encoder_set_total_samples_estimate(FLAC__StreamEncoder *encoder, FLAC__uint64 value)
Definition: stream_encoder.c:1852
FLAC_API unsigned FLAC__stream_encoder_get_channels(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2005
Definition: stream_encoder.h:278
FLAC__StreamEncoderSeekStatus
Definition: stream_encoder.h:409
Definition: stream_encoder.h:295
FLAC_API FLAC__bool FLAC__stream_encoder_set_metadata(FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, unsigned num_blocks)
Definition: stream_encoder.c:1863
FLAC_API FLAC__StreamDecoderState FLAC__stream_encoder_get_verify_decoder_state(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:1940
FLAC_API FLAC__bool FLAC__stream_encoder_set_do_exhaustive_model_search(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1803
FLAC__StreamEncoderReadCallback read_callback
Definition: stream_encoder.c:370
FLAC_API unsigned FLAC__stream_encoder_get_blocksize(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2029
FLAC__StreamEncoderReadStatus(* FLAC__StreamEncoderReadCallback)(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data)
Definition: stream_encoder.h:519
FLAC_API FLAC__bool FLAC__stream_encoder_set_blocksize(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1607
FLAC__uint64 samples_written
Definition: stream_encoder.c:380
Definition: stream_encoder.h:246
FLAC_API unsigned FLAC__stream_encoder_get_qlp_coeff_precision(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2061
Definition: stream_encoder.h:365
FLAC_API FLAC__bool FLAC__stream_encoder_set_apodization(FLAC__StreamEncoder *encoder, const char *specification)
Definition: stream_encoder.c:1641
FLAC__StreamEncoderWriteCallback write_callback
Definition: stream_encoder.c:373
FLAC_API unsigned FLAC__stream_encoder_get_rice_parameter_search_dist(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2109
FLAC__StreamEncoderSeekCallback seek_callback
Definition: stream_encoder.c:371
FLAC_API FLAC__bool FLAC__stream_encoder_set_max_lpc_order(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1754
FLAC_API void FLAC__stream_encoder_delete(FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:574
JOCTET * buffer
Definition: juce_JPEGLoader.cpp:302
Definition: stream_encoder.h:394
FLAC_API FLAC__bool FLAC__stream_encoder_set_qlp_coeff_precision(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1765
FLAC_API FLAC__bool FLAC__stream_encoder_get_do_exhaustive_model_search(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2085
FLAC__StreamEncoderReadStatus
Definition: stream_encoder.h:363
FLAC_API FLAC__bool FLAC__stream_encoder_get_verify(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:1981
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_file(FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
Definition: stream_encoder.h:411
FLAC__StreamEncoderTellCallback tell_callback
Definition: stream_encoder.c:372
JBLOCKROW JDIMENSION num_blocks
Definition: jpegint.h:376
FLAC__StreamEncoderState
Definition: stream_encoder.h:241
Definition: stream_encoder.h:273
FLAC_API FLAC__bool FLAC__stream_encoder_get_do_qlp_coeff_prec_search(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2069
Definition: stream_encoder.h:391
FLAC_API const char *const FLAC__StreamEncoderStateString[]
Definition: stream_encoder.c:431
Definition: stream_encoder.h:255
FLAC_API FLAC__bool FLAC__stream_encoder_get_do_mid_side_stereo(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2037
FLAC__uint8 FLAC__byte
Definition: ordinals.h:72
FLAC_API FLAC__bool FLAC__stream_encoder_process(FLAC__StreamEncoder *encoder, const FLAC__int32 *const buffer[], unsigned samples)
Definition: stream_encoder.c:2125
Definition: format.h:834
FLAC__StreamEncoderSeekStatus(* FLAC__StreamEncoderSeekCallback)(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data)
Definition: stream_encoder.h:591
FLAC_API FLAC__bool FLAC__stream_encoder_set_streamable_subset(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1519
Definition: stream_encoder.h:371
Definition: stream_encoder.h:374
FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], unsigned samples)
Definition: stream_encoder.c:2177
FLAC_API FLAC__bool FLAC__stream_encoder_set_channels(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1541
#define FLAC_API
Definition: export.h:73
Definition: stream_encoder.h:437
Definition: stream_encoder.h:243
FLAC_API FLAC__bool FLAC__stream_encoder_set_max_residual_partition_order(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1825
unsigned sample
Definition: stream_encoder.c:417
FLAC_API void FLAC__stream_encoder_get_verify_decoder_error_stats(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, unsigned *frame_number, unsigned *channel, unsigned *sample, FLAC__int32 *expected, FLAC__int32 *got)
Definition: stream_encoder.c:1962
FLAC_API FLAC__bool FLAC__stream_encoder_set_verify(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1506
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_stream(FLAC__StreamEncoder *encoder, FLAC__StreamEncoderReadCallback read_callback, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data)
Definition: stream_encoder.c:1258
Definition: juce_win32_Windowing.cpp:76
Definition: stream_encoder.h:440
FLAC_API const char *const FLAC__StreamEncoderInitStatusString[]
Definition: stream_encoder.c:443
FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:1421
FLAC__StreamEncoderProgressCallback progress_callback
Definition: stream_encoder.c:375
Definition: stream_encoder.h:298
FLAC_API const char *const FLAC__StreamEncoderSeekStatusString[]
Definition: stream_encoder.c:472
Definition: stream_encoder.h:268
Definition: stream_encoder.h:434
FLAC_API FLAC__StreamEncoder * FLAC__stream_encoder_new(void)
Definition: stream_encoder.c:502
FLAC_API FLAC__bool FLAC__stream_encoder_set_loose_mid_side_stereo(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1629
FLAC_API FLAC__bool FLAC__stream_encoder_set_do_mid_side_stereo(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1618
FLAC__StreamDecoderState
Definition: stream_decoder.h:202
void
Definition: juce_PNGLoader.cpp:1173
FLAC__StreamEncoderInitStatus
Definition: stream_encoder.h:293
FLAC_API unsigned FLAC__stream_encoder_get_min_residual_partition_order(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2093
unsigned channel
Definition: stream_encoder.c:416
FLAC_API FLAC__bool FLAC__stream_encoder_get_loose_mid_side_stereo(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2045
void(* FLAC__StreamEncoderProgressCallback)(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, unsigned frames_written, unsigned total_frames_estimate, void *client_data)
Definition: stream_encoder.h:678
FLAC_API FLAC__bool FLAC__stream_encoder_get_do_escape_coding(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2077
struct FLAC__StreamEncoderProtected * protected_
Definition: stream_encoder.h:466
void * client_data
Definition: stream_encoder.c:376
FLAC_API FLAC__bool FLAC__stream_encoder_set_compression_level(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1574
struct FLAC__StreamEncoderPrivate * private_
Definition: stream_encoder.h:467
FLAC__StreamEncoderWriteStatus
Definition: stream_encoder.h:389
Definition: stream_encoder.h:417
FLAC__uint64 absolute_sample
Definition: stream_encoder.c:414
FLAC__StreamEncoderWriteStatus(* FLAC__StreamEncoderWriteCallback)(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data)
Definition: stream_encoder.h:557
FILE * file
Definition: stream_encoder.c:378
unsigned frame_number
Definition: stream_encoder.c:415
FLAC__uint64 bytes_written
Definition: stream_encoder.c:379
FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_FILE(FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data)
Definition: stream_encoder.h:465
FLAC_API FLAC__bool FLAC__stream_encoder_set_sample_rate(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1563
FLAC__StreamEncoderTellStatus(* FLAC__StreamEncoderTellCallback)(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
Definition: stream_encoder.h:636
FLAC_API FLAC__bool FLAC__stream_encoder_set_rice_parameter_search_dist(FLAC__StreamEncoder *encoder, unsigned value)
Definition: stream_encoder.c:1836
FLAC_API const char * FLAC__stream_encoder_get_resolved_state_string(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:1951
uint64_t FLAC__uint64
Definition: ordinals.h:66
FLAC_API FLAC__bool FLAC__stream_encoder_set_do_escape_coding(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1787
FLAC_API FLAC__bool FLAC__stream_encoder_set_ogg_serial_number(FLAC__StreamEncoder *encoder, long serial_number)
Definition: stream_encoder.c:1489
FLAC__int32 got
Definition: stream_encoder.c:419
FLAC_API unsigned FLAC__stream_encoder_get_max_lpc_order(const FLAC__StreamEncoder *encoder)
Definition: stream_encoder.c:2053
FLAC_API FLAC__bool FLAC__stream_encoder_set_do_qlp_coeff_prec_search(FLAC__StreamEncoder *encoder, FLAC__bool value)
Definition: stream_encoder.c:1776
int32_t FLAC__int32
Definition: ordinals.h:62
Definition: stream_encoder.c:309