Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:16.0:Staging:adi:80
DVDStyler
dvdstyler-ffmpeg5.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dvdstyler-ffmpeg5.patch of Package DVDStyler
Origin: upstream Author: NtAlex <ntalex at sf.net> diff --git a/src/mediaenc_ffmpeg.cpp b/src/mediaenc_ffmpeg.cpp index c591458..29e1954 100644 --- a/src/mediaenc_ffmpeg.cpp +++ b/src/mediaenc_ffmpeg.cpp @@ -30,6 +30,7 @@ extern "C" { #include <libswscale/swscale.h> #include <libavutil/mathematics.h> #include <libavutil/avstring.h> +#include <libavcodec/avcodec.h> } #define AUDIO_BUF_SIZE 524288 @@ -57,10 +58,15 @@ wxFfmpegMediaEncoder::~wxFfmpegMediaEncoder() { } wxString wxFfmpegMediaEncoder::GetBackendVersion() { +#ifdef LIBAVFORMAT_VERSION_INT return wxString::Format(wxT("libavformat %d.%d.%d, libavcodec %d.%d.%d, libavutil %d.%d.%d"), LIBAVFORMAT_VERSION_INT >> 16, LIBAVFORMAT_VERSION_INT >> 8 & 0xFF, LIBAVFORMAT_VERSION_INT & 0xFF, LIBAVCODEC_VERSION_INT >> 16, LIBAVCODEC_VERSION_INT >> 8 & 0xFF, LIBAVCODEC_VERSION_INT & 0xFF, LIBAVUTIL_VERSION_INT >> 16, LIBAVUTIL_VERSION_INT >> 8 & 0xFF, LIBAVUTIL_VERSION_INT & 0xFF); +#else + return wxString::Format(wxT("libavformat %d, libavcodec %d, libavutil %d"), + LIBAVCODEC_VERSION_MAJOR, LIBAVFORMAT_VERSION_MAJOR, LIBAVUTIL_VERSION_MAJOR); +#endif } void print_error(const char *filename, int err) { @@ -86,7 +92,10 @@ bool wxFfmpegMediaEncoder::BeginEncode(const wxString& fileName, VideoFormat vid } return true; } - AVOutputFormat* outputFormat = NULL; +#if LIBAVCODEC_VERSION_MAJOR > 58 + const +#endif +AVOutputFormat* outputFormat = NULL; if (videoFormat == vfNONE || audioFormat == afNONE) outputFormat = av_guess_format(NULL, (const char*) fileName.ToUTF8(), NULL); else @@ -95,13 +104,15 @@ bool wxFfmpegMediaEncoder::BeginEncode(const wxString& fileName, VideoFormat vid wxLogError(wxT("Cannot open output format")); return false; } - outputFormat->video_codec = videoFormat == vfNONE ? AV_CODEC_ID_NONE : AV_CODEC_ID_MPEG2VIDEO; + + AVCodecID video_codec = videoFormat == vfNONE ? AV_CODEC_ID_NONE : AV_CODEC_ID_MPEG2VIDEO; + AVCodecID audio_codec; if (audioFormat == afNONE) - outputFormat->audio_codec = AV_CODEC_ID_NONE; + audio_codec = AV_CODEC_ID_NONE; else if (audioFormat == afAC3) - outputFormat->audio_codec = AV_CODEC_ID_AC3; + audio_codec = AV_CODEC_ID_AC3; else - outputFormat->audio_codec = AV_CODEC_ID_MP2; + audio_codec = AV_CODEC_ID_MP2; m_outputCtx = NULL; avformat_alloc_output_context2(&m_outputCtx, outputFormat, NULL, (const char*) fileName.ToUTF8()); @@ -113,9 +124,9 @@ bool wxFfmpegMediaEncoder::BeginEncode(const wxString& fileName, VideoFormat vid m_outputCtx->packet_size = 2048; // add video and audio streams - if (!addVideoStream(outputFormat->video_codec, videoFormat, aspectRatio, videoBitrate, cbr)) + if (!addVideoStream(video_codec, videoFormat, aspectRatio, videoBitrate, cbr)) return false; - if (!addAudioStream(outputFormat->audio_codec)) + if (!addAudioStream(audio_codec)) return false; // open the output file @@ -172,7 +183,7 @@ bool wxFfmpegMediaEncoder::addVideoStream(int codecId, VideoFormat videoFormat, m_videoStm->id = 0; // find the video encoder and open it - AVCodec* encoder = avcodec_find_encoder((AVCodecID) codecId); + auto* encoder = avcodec_find_encoder((AVCodecID) codecId); if (!encoder) { wxLogError(wxT("Video codec not found")); return false; @@ -264,7 +275,7 @@ bool wxFfmpegMediaEncoder::addAudioStream(int codecId) { } // find the audio encoder and open it - AVCodec* encoder = NULL; + const AVCodec* encoder = NULL; AVSampleFormat sampleFmt = AV_SAMPLE_FMT_S16; if ((AVCodecID) codecId == AV_CODEC_ID_AC3) { sampleFmt = AV_SAMPLE_FMT_FLTP;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor