From 0f47d27c584eba23da0a9ffdb84aa12bd09e3654 Mon Sep 17 00:00:00 2001 From: Andrey Astafiev Date: Fri, 1 Mar 2002 14:41:53 +0000 Subject: [PATCH] some corrections to libFLAC section --- doc/ru/documentation.html | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/doc/ru/documentation.html b/doc/ru/documentation.html index 09127b04..95091d05 100644 --- a/doc/ru/documentation.html +++ b/doc/ru/documentation.html @@ -419,9 +419,9 @@

libFLAC

-

Библиотека libFLAC является реализацией на C базового енкодера и декодера. Используя эту библиотеку и написав немного кода, можно добавить поддержку FLAC в свою программу. Условия распространения - LGPL. Исходные коды библиотеки libFLAC, также как и консольного кодека и плагинов доступны, и могут послужить хорошим примером для использования.

+

Библиотека libFLAC является реализацией на C базового енкодера и декодера. Используя эту библиотеку и написав немного кода, можно добавить поддержку FLAC в свою программу. Условия ее распространения - LGPL. Исходные тексты библиотеки libFLAC, также как и консольного кодека и плагинов, доступны, и могут послужить хорошим примером для использования.

-

libFLAC требует стандартную и математическую библиотеки для языка C. Потоки не используются, однако, так как libFLAC не использует глобальные переменные, библиотека должна быть thread-safe.

+

libFLAC требует стандартную и математическую библиотеки для языка C. Программные потоки не используются, однако, так как libFLAC не использует глобальные переменные, библиотека должна быть thread-safe.

Интерфейс libFLAC описан в публичных заголовочных файлах в каталоге include/FLAC. Для использования скомпилированной библиотеки нужны только публичные заголовки. Обратите внимание на то, что код из src/libFLAC/, включая защищенные заголовочные файлы из src/libFLAC/include/ не нужен.

@@ -442,18 +442,18 @@ -

Для декодирования libFLAC предоставляет три уровня доступа. На нижнем уровне находится декодер потоков, далее - декодер потоков с возможностью поиска, а на верхнем - файлов. Интерфейсы описаны в файлах stream_decoder.h, seekable_stream_decoder.h и file_decoder.h соответственно. Обычно использовать стоит декодер более верхнего уровня.

- -

Потоковый декодер рассчитывает на обратные вызовы для всего ввода и вывода и не имеет функций для поиска. Они добавлены в декодер с возможностью поиска, который является оберткой. Однако, для использования возможности пиоска вы должны добавить дополнительные обратные вызовы (seek и tell). Файловый декодер, являющийся оберткой для декодера потоков с возможностью поиска, сам осуществляет большинство обратных вызовов.

- -

Енкодер реализован только на потоковом уровне (stream_encoder.h), так как поиск во время кодирования - довольно странная возможность.

+

Для декодирования libFLAC предоставляет три уровня доступа. На нижнем уровне находится декодер потоков, на следующем - декодер потоков с возможностью поиска, а на верхнем - декодер файлов. Интерфейсы описаны в файлах stream_decoder.h, seekable_stream_decoder.h и file_decoder.h соответственно. Использовать лучше всего декодер более верхнего уровня.

+ +

Потоковый декодер рассчитывает на обратные вызовы для получения входных и выходных данных. Декодер с возможностью поиска является оберткой потокового декодера, предоставляющий возможность поиска, однако для его выполнения вам необходимо добавить обратные вызовы. Файловый декодер сам осуществляет обратные вызовы для чтения и предоставляет функции поиска.

+ +

Енкодер пока что реализован только на потоковом уровне (stream_encoder.h).

Структуры и константы, относящиеся к формату, определены в файле format.h.

- +

ДЕКОДЕР ПОТОКОВ

-

Сначала обсудим декодер потоков. Тип его экземпляра FLAC__StreamDecoder. Обычно в программе экземпляр создается вызовом FLAC__stream_decoder_new() и инициализируется FLAC__stream_decoder_init(). Программа также может предоставлять указатель client_data на FLAC__stream_decoder_init(), который будет использоваться для обратных вызовов.

+

Сначала обсудим декодер потоков. Тип его экземпляра FLAC__StreamDecoder. Обычно в программе экземпляр создается вызовом FLAC__stream_decoder_new(), затем вызывает функции FLAC__stream_decoder_set_*() для установки обратных вызовов и пользовательских данных и инициализируется функцией FLAC__stream_decoder_init(). Необходимые обратные вызовы: