lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.

C++ does not allow to mix different enums, so e.g. code comparing
ACodecID with CodecID would fail to compile with gcc.

This very evil hack should fix this problem.
This commit is contained in:
Anton Khirnov 2012-08-08 08:04:56 +02:00
parent 33de86db2b
commit 2ff67c909c
4 changed files with 14 additions and 8 deletions

View File

@ -18,6 +18,10 @@ API changes, most recent first:
2012-08-xx - xxxxxxx - lavc 54.25 - avcodec.h
Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
To provide backwards compatibility, CodecID is now #defined as AVCodecID.
Note that this can break user code that includes avcodec.h and uses the
'CodecID' identifier. Such code should either #undef CodecID or stop using the
CodecID name.
2012-08-03 - xxxxxxx - lavu 51.37.1 - cpu.h
lsws 2.1.1 - swscale.h

View File

@ -705,6 +705,7 @@ SKIPHEADERS += %_tablegen.h \
%_tables.h \
aac_tablegen_decl.h \
fft-internal.h \
old_codec_ids.h \
tableprint.h \
$(ARCH)/vp56_arith.h \

View File

@ -76,9 +76,6 @@
* @{
*/
#if FF_API_CODEC_ID
#include "old_codec_ids.h"
#endif
/**
* Identify the syntax and semantics of the bitstream.
@ -428,8 +425,16 @@ enum AVCodecID {
AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
* stream (only used by libavformat) */
AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
#if FF_API_CODEC_ID
#include "old_codec_ids.h"
#endif
};
#if FF_API_CODEC_ID
#define CodecID AVCodecID
#endif
#if FF_API_OLD_DECODE_AUDIO
/* in bytes */
#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio

View File

@ -19,8 +19,6 @@
#ifndef AVCODEC_OLD_CODEC_IDS_H
#define AVCODEC_OLD_CODEC_IDS_H
#include "libavutil/attributes.h"
/*
* This header exists to prevent new codec IDs from being accidentally added to
* the deprecated list.
@ -29,8 +27,7 @@
* Do not add new items to this list. Use the AVCodecID enum instead.
*/
enum CodecID {
CODEC_ID_NONE,
CODEC_ID_NONE = AV_CODEC_ID_NONE,
/* video codecs */
CODEC_ID_MPEG1VIDEO,
@ -365,6 +362,5 @@ enum CodecID {
CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
* stream (only used by libavformat) */
CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
} attribute_deprecated;
#endif /* AVCODEC_OLD_CODEC_IDS_H */