diff --git a/libavformat/matroska.h b/libavformat/matroska.h index 613e27a4e701d4a01c72020312db812d4442b8a3..1b84e90a0db7ea5f192e09e034f8870a3dfc7305 100644 --- a/libavformat/matroska.h +++ b/libavformat/matroska.h @@ -203,9 +203,6 @@ typedef struct CodecMime{ enum CodecID id; }CodecMime; -#define MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC "V_MS/VFW/FOURCC" -#define MATROSKA_CODEC_ID_AUDIO_ACM "A_MS/ACM" - /* max. depth in the EBML tree structure */ #define EBML_MAX_DEPTH 16 diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 8e8dfc7d58459acb9a3c33c35caa11e99deb19cf..d90162b404cb827d73c73633f8c91e9f72abf9b1 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1138,12 +1138,12 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) if (st == NULL) return AVERROR(ENOMEM); - if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC) + if (!strcmp(track->codec_id, "V_MS/VFW/FOURCC") && track->codec_priv.size >= 40 && track->codec_priv.data != NULL) { track->video.fourcc = AV_RL32(track->codec_priv.data + 16); codec_id = codec_get_id(codec_bmp_tags, track->video.fourcc); - } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_AUDIO_ACM) + } else if (!strcmp(track->codec_id, "A_MS/ACM") && track->codec_priv.size >= 18 && track->codec_priv.data != NULL) { uint16_t tag = AV_RL16(track->codec_priv.data); diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 24bcfdb527851be93e8ff791df81b4832de79213..8e1c8e5a0eb216f81bf198112da14dd93b98fcec 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -587,7 +587,7 @@ static int mkv_write_tracks(AVFormatContext *s) put_ebml_string(pb, MATROSKA_ID_CODECID, "V_QUICKTIME"); else if (!native_id) // if there is no mkv-specific codec ID, use VFW mode - put_ebml_string(pb, MATROSKA_ID_CODECID, MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC); + put_ebml_string(pb, MATROSKA_ID_CODECID, "V_MS/VFW/FOURCC"); subinfo = start_ebml_master(pb, MATROSKA_ID_TRACKVIDEO, 0); // XXX: interlace flag? @@ -607,7 +607,7 @@ static int mkv_write_tracks(AVFormatContext *s) if (!native_id) // no mkv-specific ID, use ACM mode - put_ebml_string(pb, MATROSKA_ID_CODECID, MATROSKA_CODEC_ID_AUDIO_ACM); + put_ebml_string(pb, MATROSKA_ID_CODECID, "A_MS/ACM"); subinfo = start_ebml_master(pb, MATROSKA_ID_TRACKAUDIO, 0); put_ebml_uint (pb, MATROSKA_ID_AUDIOCHANNELS , codec->channels);