Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
/*
2
 * Copyright (c) 2004 Michael Niedermayer 
3
 *
4
 * This file is part of FFmpeg.
5
 *
6
 * FFmpeg is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU Lesser General Public
8
 * License as published by the Free Software Foundation; either
9
 * version 2.1 of the License, or (at your option) any later version.
10
 *
11
 * FFmpeg is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 * Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public
17
 * License along with FFmpeg; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
 */
20
 
21
#ifndef AVRESAMPLE_RESAMPLE_H
22
#define AVRESAMPLE_RESAMPLE_H
23
 
24
#include "avresample.h"
25
#include "internal.h"
26
#include "audio_data.h"
27
 
28
/**
29
 * Allocate and initialize a ResampleContext.
30
 *
31
 * The parameters in the AVAudioResampleContext are used to initialize the
32
 * ResampleContext.
33
 *
34
 * @param avr  AVAudioResampleContext
35
 * @return     newly-allocated ResampleContext
36
 */
37
ResampleContext *ff_audio_resample_init(AVAudioResampleContext *avr);
38
 
39
/**
40
 * Free a ResampleContext.
41
 *
42
 * @param c  ResampleContext
43
 */
44
void ff_audio_resample_free(ResampleContext **c);
45
 
46
/**
47
 * Resample audio data.
48
 *
49
 * Changes the sample rate.
50
 *
51
 * @par
52
 * All samples in the source data may not be consumed depending on the
53
 * resampling parameters and the size of the output buffer. The unconsumed
54
 * samples are automatically added to the start of the source in the next call.
55
 * If the destination data can be reallocated, that may be done in this function
56
 * in order to fit all available output. If it cannot be reallocated, fewer
57
 * input samples will be consumed in order to have the output fit in the
58
 * destination data buffers.
59
 *
60
 * @param c         ResampleContext
61
 * @param dst       destination audio data
62
 * @param src       source audio data
63
 * @return          0 on success, negative AVERROR code on failure
64
 */
65
int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src);
66
 
67
#endif /* AVRESAMPLE_RESAMPLE_H */