FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
utils.c
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #include "libavcodec/avcodec.h"
20 
21 int main(void){
22  AVCodec *codec = NULL;
23  int ret = 0;
25 
26  while (codec = av_codec_next(codec)) {
27  if (av_codec_is_encoder(codec)) {
28  if (codec->type == AVMEDIA_TYPE_AUDIO) {
29  if (!codec->sample_fmts) {
30  av_log(NULL, AV_LOG_FATAL, "Encoder %s is missing the sample_fmts field\n", codec->name);
31  ret = 1;
32  }
33  }
34  }
35  }
36  return ret;
37 }
#define NULL
Definition: coverity.c:32
enum AVMediaType type
Definition: avcodec.h:3555
void avcodec_register_all(void)
Register all the codecs, parsers and bitstream filters which were enabled at configuration time...
Definition: allcodecs.c:61
AVCodec.
Definition: avcodec.h:3542
int av_codec_is_encoder(const AVCodec *codec)
Definition: utils.c:168
#define av_log(a,...)
int main(void)
Definition: utils.c:21
AVCodec * av_codec_next(const AVCodec *c)
If c is NULL, returns the first registered codec, if c is non-NULL, returns the next registered codec...
Definition: utils.c:148
const char * name
Name of the codec implementation.
Definition: avcodec.h:3549
Libavcodec external API header.
#define AV_LOG_FATAL
Something went wrong and recovery is not possible.
Definition: log.h:170
enum AVSampleFormat * sample_fmts
array of supported sample formats, or NULL if unknown, array is terminated by -1
Definition: avcodec.h:3565