summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2024-03-04 11:48:20 -0600
committersfan5 <sfan5@live.de>2024-03-05 19:04:11 +0100
commit83bad548d2a87fa77176b2a16fb0b257b1c113ec (patch)
treef03d6744e4ecbe6d5a9ef77e0773872f23b3d6bb
parent9c03b7569b73561d6679cbd2fd1fb8b556d02820 (diff)
downloadmpv-83bad548d2a87fa77176b2a16fb0b257b1c113ec.tar.bz2
mpv-83bad548d2a87fa77176b2a16fb0b257b1c113ec.tar.xz
ad_spdif: handle deprecated FF_PROFILE_* definitions
See: https://github.com/FFmpeg/FFmpeg/commit/8238bc0b5e3dba271217b1223a901b3f9713dc6e
-rw-r--r--audio/decode/ad_spdif.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/audio/decode/ad_spdif.c b/audio/decode/ad_spdif.c
index bb110cbed4..f3dca7d175 100644
--- a/audio/decode/ad_spdif.c
+++ b/audio/decode/ad_spdif.c
@@ -37,6 +37,12 @@
#define OUTBUF_SIZE 65536
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 26, 100)
+#define AV_PROFILE_UNKNOWN FF_PROFILE_UNKNOWN
+#define AV_PROFILE_DTS_HD_HRA FF_PROFILE_DTS_HD_HRA
+#define AV_PROFILE_DTS_HD_MA FF_PROFILE_DTS_HD_MA
+#endif
+
struct spdifContext {
struct mp_log *log;
enum AVCodecID codec_id;
@@ -90,7 +96,7 @@ static void determine_codec_params(struct mp_filter *da, AVPacket *pkt,
int *out_profile, int *out_rate)
{
struct spdifContext *spdif_ctx = da->priv;
- int profile = FF_PROFILE_UNKNOWN;
+ int profile = AV_PROFILE_UNKNOWN;
AVCodecContext *ctx = NULL;
AVFrame *frame = NULL;
@@ -115,7 +121,7 @@ static void determine_codec_params(struct mp_filter *da, AVPacket *pkt,
av_parser_close(parser);
}
- if (profile != FF_PROFILE_UNKNOWN || spdif_ctx->codec_id != AV_CODEC_ID_DTS)
+ if (profile != AV_PROFILE_UNKNOWN || spdif_ctx->codec_id != AV_CODEC_ID_DTS)
return;
const AVCodec *codec = avcodec_find_decoder(spdif_ctx->codec_id);
@@ -145,7 +151,7 @@ done:
av_frame_free(&frame);
avcodec_free_context(&ctx);
- if (profile == FF_PROFILE_UNKNOWN)
+ if (profile == AV_PROFILE_UNKNOWN)
MP_WARN(da, "Failed to parse codec profile.\n");
}
@@ -155,7 +161,7 @@ static int init_filter(struct mp_filter *da)
AVPacket *pkt = spdif_ctx->avpkt;
- int profile = FF_PROFILE_UNKNOWN;
+ int profile = AV_PROFILE_UNKNOWN;
int c_rate = 0;
determine_codec_params(da, pkt, &profile, &c_rate);
MP_VERBOSE(da, "In: profile=%d samplerate=%d\n", profile, c_rate);
@@ -208,9 +214,9 @@ static int init_filter(struct mp_filter *da)
num_channels = 2;
break;
case AV_CODEC_ID_DTS: {
- bool is_hd = profile == FF_PROFILE_DTS_HD_HRA ||
- profile == FF_PROFILE_DTS_HD_MA ||
- profile == FF_PROFILE_UNKNOWN;
+ bool is_hd = profile == AV_PROFILE_DTS_HD_HRA ||
+ profile == AV_PROFILE_DTS_HD_MA ||
+ profile == AV_PROFILE_UNKNOWN;
// Apparently, DTS-HD over SPDIF is specified to be 7.1 (8 channels)
// for DTS-HD MA, and stereo (2 channels) for DTS-HD HRA. The bit