diff options
Diffstat (limited to 'dom/media/platforms/ffmpeg/FFmpegUtils.h')
-rw-r--r-- | dom/media/platforms/ffmpeg/FFmpegUtils.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/dom/media/platforms/ffmpeg/FFmpegUtils.h b/dom/media/platforms/ffmpeg/FFmpegUtils.h index fe588ed14c..bdbb184cf2 100644 --- a/dom/media/platforms/ffmpeg/FFmpegUtils.h +++ b/dom/media/platforms/ffmpeg/FFmpegUtils.h @@ -51,6 +51,36 @@ inline bool IsVideoCodec(AVCodecID aCodecID) { } } +// Access the correct location for the channel count, based on ffmpeg version. +template <typename T> +inline int& ChannelCount(T* aObject) { +#if LIBAVCODEC_VERSION_MAJOR <= 59 + return aObject->channels; +#else + return aObject->ch_layout.nb_channels; +#endif +} + +// Access the correct location for the duration, based on ffmpeg version. +template <typename T> +inline int64_t& Duration(T* aObject) { +#if LIBAVCODEC_VERSION_MAJOR < 61 + return aObject->pkt_duration; +#else + return aObject->duration; +#endif +} + +// Access the correct location for the duration, based on ffmpeg version. +template <typename T> +inline const int64_t& Duration(const T* aObject) { +#if LIBAVCODEC_VERSION_MAJOR < 61 + return aObject->pkt_duration; +#else + return aObject->duration; +#endif +} + } // namespace mozilla #endif // DOM_MEDIA_PLATFORMS_FFMPEG_FFMPEGUTILS_H_ |