automatic version update by autodist [release 0.4.4-1mamba;Thu Mar 14 2024]
This commit is contained in:
parent
d6017ff1cb
commit
743c386e23
238
ssr-0.4.4-ffmpeg-5.patch
Normal file
238
ssr-0.4.4-ffmpeg-5.patch
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
From f4cbde38021d9330dc73d2e3dfa8a70da3ff5721 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
|
||||||
|
Date: Sun, 16 Jan 2022 02:40:04 +0100
|
||||||
|
Subject: [PATCH] Fix build with ffmpeg 5.0
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Adapt to ffmpeg 5.0 requiring more const-ness for AVCodec.
|
||||||
|
|
||||||
|
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
|
||||||
|
---
|
||||||
|
src/AV/Output/AudioEncoder.cpp | 6 +++---
|
||||||
|
src/AV/Output/AudioEncoder.h | 4 ++--
|
||||||
|
src/AV/Output/BaseEncoder.cpp | 4 ++--
|
||||||
|
src/AV/Output/BaseEncoder.h | 4 ++--
|
||||||
|
src/AV/Output/Muxer.cpp | 12 ++++++------
|
||||||
|
src/AV/Output/Muxer.h | 4 ++--
|
||||||
|
src/AV/Output/VideoEncoder.cpp | 6 +++---
|
||||||
|
src/AV/Output/VideoEncoder.h | 4 ++--
|
||||||
|
8 files changed, 22 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/AV/Output/AudioEncoder.cpp b/src/AV/Output/AudioEncoder.cpp
|
||||||
|
index 34d015cf..cefc2e02 100644
|
||||||
|
--- a/src/AV/Output/AudioEncoder.cpp
|
||||||
|
+++ b/src/AV/Output/AudioEncoder.cpp
|
||||||
|
@@ -34,7 +34,7 @@ const std::vector<AudioEncoder::SampleFormatData> AudioEncoder::SUPPORTED_SAMPLE
|
||||||
|
|
||||||
|
const unsigned int AudioEncoder::DEFAULT_FRAME_SAMPLES = 1024;
|
||||||
|
|
||||||
|
-AudioEncoder::AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext *codec_context, AVCodec* codec, AVDictionary** options)
|
||||||
|
+AudioEncoder::AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext *codec_context, const AVCodec* codec, AVDictionary** options)
|
||||||
|
: BaseEncoder(muxer, stream, codec_context, codec, options) {
|
||||||
|
|
||||||
|
#if !SSR_USE_AVCODEC_ENCODE_AUDIO2
|
||||||
|
@@ -77,7 +77,7 @@ unsigned int AudioEncoder::GetSampleRate() {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AudioEncoder::AVCodecIsSupported(const QString& codec_name) {
|
||||||
|
- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
|
||||||
|
+ const AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
|
||||||
|
if(codec == NULL)
|
||||||
|
return false;
|
||||||
|
if(!av_codec_is_encoder(codec))
|
||||||
|
@@ -93,7 +93,7 @@ bool AudioEncoder::AVCodecIsSupported(const QString& codec_name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void AudioEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
+void AudioEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
unsigned int bit_rate, unsigned int channels, unsigned int sample_rate) {
|
||||||
|
|
||||||
|
if(channels == 0) {
|
||||||
|
diff --git a/src/AV/Output/AudioEncoder.h b/src/AV/Output/AudioEncoder.h
|
||||||
|
index c93278cf..ae9c82ee 100644
|
||||||
|
--- a/src/AV/Output/AudioEncoder.h
|
||||||
|
+++ b/src/AV/Output/AudioEncoder.h
|
||||||
|
@@ -40,7 +40,7 @@ class AudioEncoder : public BaseEncoder {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public:
|
||||||
|
- AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options);
|
||||||
|
+ AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options);
|
||||||
|
~AudioEncoder();
|
||||||
|
|
||||||
|
// Returns the required frame size, i.e. the number of samples (for each channel).
|
||||||
|
@@ -57,7 +57,7 @@ class AudioEncoder : public BaseEncoder {
|
||||||
|
|
||||||
|
public:
|
||||||
|
static bool AVCodecIsSupported(const QString& codec_name);
|
||||||
|
- static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
+ static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
unsigned int bit_rate, unsigned int channels, unsigned int sample_rate);
|
||||||
|
|
||||||
|
private:
|
||||||
|
diff --git a/src/AV/Output/BaseEncoder.cpp b/src/AV/Output/BaseEncoder.cpp
|
||||||
|
index 7c01ef30..4780aafd 100644
|
||||||
|
--- a/src/AV/Output/BaseEncoder.cpp
|
||||||
|
+++ b/src/AV/Output/BaseEncoder.cpp
|
||||||
|
@@ -42,7 +42,7 @@ double ParseCodecOptionDouble(const QString& key, const QString& value, double m
|
||||||
|
return clamp(value_double, min, max) * multiply;
|
||||||
|
}
|
||||||
|
|
||||||
|
-BaseEncoder::BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options) {
|
||||||
|
+BaseEncoder::BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options) {
|
||||||
|
|
||||||
|
m_muxer = muxer;
|
||||||
|
m_stream = stream;
|
||||||
|
@@ -157,7 +157,7 @@ void BaseEncoder::IncrementPacketCounter() {
|
||||||
|
++lock->m_total_packets;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void BaseEncoder::Init(AVCodec* codec, AVDictionary** options) {
|
||||||
|
+void BaseEncoder::Init(const AVCodec* codec, AVDictionary** options) {
|
||||||
|
|
||||||
|
// open codec
|
||||||
|
if(avcodec_open2(m_codec_context, codec, options) < 0) {
|
||||||
|
diff --git a/src/AV/Output/BaseEncoder.h b/src/AV/Output/BaseEncoder.h
|
||||||
|
index 3d92f298..7f02bbd6 100644
|
||||||
|
--- a/src/AV/Output/BaseEncoder.h
|
||||||
|
+++ b/src/AV/Output/BaseEncoder.h
|
||||||
|
@@ -51,7 +51,7 @@ class BaseEncoder {
|
||||||
|
std::atomic<bool> m_should_stop, m_should_finish, m_is_done, m_error_occurred;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
- BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options);
|
||||||
|
+ BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options);
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual ~BaseEncoder(); // encoders will be deleted by Muxer, don't delete them yourself!
|
||||||
|
@@ -117,7 +117,7 @@ class BaseEncoder {
|
||||||
|
void IncrementPacketCounter();
|
||||||
|
|
||||||
|
private:
|
||||||
|
- void Init(AVCodec* codec, AVDictionary** options);
|
||||||
|
+ void Init(const AVCodec* codec, AVDictionary** options);
|
||||||
|
void Free();
|
||||||
|
|
||||||
|
void EncoderThread();
|
||||||
|
diff --git a/src/AV/Output/Muxer.cpp b/src/AV/Output/Muxer.cpp
|
||||||
|
index ad583803..14650b03 100644
|
||||||
|
--- a/src/AV/Output/Muxer.cpp
|
||||||
|
+++ b/src/AV/Output/Muxer.cpp
|
||||||
|
@@ -87,7 +87,7 @@ Muxer::~Muxer() {
|
||||||
|
|
||||||
|
VideoEncoder* Muxer::AddVideoEncoder(const QString& codec_name, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
unsigned int bit_rate, unsigned int width, unsigned int height, unsigned int frame_rate) {
|
||||||
|
- AVCodec *codec = FindCodec(codec_name);
|
||||||
|
+ const AVCodec *codec = FindCodec(codec_name);
|
||||||
|
AVCodecContext *codec_context = NULL;
|
||||||
|
AVStream *stream = AddStream(codec, &codec_context);
|
||||||
|
VideoEncoder *encoder;
|
||||||
|
@@ -111,7 +111,7 @@ VideoEncoder* Muxer::AddVideoEncoder(const QString& codec_name, const std::vecto
|
||||||
|
|
||||||
|
AudioEncoder* Muxer::AddAudioEncoder(const QString& codec_name, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
unsigned int bit_rate, unsigned int channels, unsigned int sample_rate) {
|
||||||
|
- AVCodec *codec = FindCodec(codec_name);
|
||||||
|
+ const AVCodec *codec = FindCodec(codec_name);
|
||||||
|
AVCodecContext *codec_context = NULL;
|
||||||
|
AVStream *stream = AddStream(codec, &codec_context);
|
||||||
|
AudioEncoder *encoder;
|
||||||
|
@@ -194,7 +194,7 @@ unsigned int Muxer::GetQueuedPacketCount(unsigned int stream_index) {
|
||||||
|
void Muxer::Init() {
|
||||||
|
|
||||||
|
// get the format we want (this is just a pointer, we don't have to free this)
|
||||||
|
- AVOutputFormat *format = av_guess_format(m_container_name.toUtf8().constData(), NULL, NULL);
|
||||||
|
+ const AVOutputFormat *format = av_guess_format(m_container_name.toUtf8().constData(), NULL, NULL);
|
||||||
|
if(format == NULL) {
|
||||||
|
Logger::LogError("[Muxer::Init] " + Logger::tr("Error: Can't find chosen output format!"));
|
||||||
|
throw LibavException();
|
||||||
|
@@ -261,8 +261,8 @@ void Muxer::Free() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-AVCodec* Muxer::FindCodec(const QString& codec_name) {
|
||||||
|
- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
|
||||||
|
+const AVCodec* Muxer::FindCodec(const QString& codec_name) {
|
||||||
|
+ const AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
|
||||||
|
if(codec == NULL) {
|
||||||
|
Logger::LogError("[Muxer::FindCodec] " + Logger::tr("Error: Can't find codec!"));
|
||||||
|
throw LibavException();
|
||||||
|
@@ -270,7 +270,7 @@ AVCodec* Muxer::FindCodec(const QString& codec_name) {
|
||||||
|
return codec;
|
||||||
|
}
|
||||||
|
|
||||||
|
-AVStream* Muxer::AddStream(AVCodec* codec, AVCodecContext** codec_context) {
|
||||||
|
+AVStream* Muxer::AddStream(const AVCodec* codec, AVCodecContext** codec_context) {
|
||||||
|
assert(!m_started);
|
||||||
|
assert(m_format_context->nb_streams < MUXER_MAX_STREAMS);
|
||||||
|
|
||||||
|
diff --git a/src/AV/Output/Muxer.h b/src/AV/Output/Muxer.h
|
||||||
|
index d72347d6..b104bcb1 100644
|
||||||
|
--- a/src/AV/Output/Muxer.h
|
||||||
|
+++ b/src/AV/Output/Muxer.h
|
||||||
|
@@ -114,8 +114,8 @@ class Muxer {
|
||||||
|
void Init();
|
||||||
|
void Free();
|
||||||
|
|
||||||
|
- AVCodec* FindCodec(const QString& codec_name);
|
||||||
|
- AVStream* AddStream(AVCodec* codec, AVCodecContext** codec_context);
|
||||||
|
+ const AVCodec* FindCodec(const QString& codec_name);
|
||||||
|
+ AVStream* AddStream(const AVCodec* codec, AVCodecContext** codec_context);
|
||||||
|
|
||||||
|
void MuxerThread();
|
||||||
|
|
||||||
|
diff --git a/src/AV/Output/VideoEncoder.cpp b/src/AV/Output/VideoEncoder.cpp
|
||||||
|
index 8087e8ed..fc8b5d11 100644
|
||||||
|
--- a/src/AV/Output/VideoEncoder.cpp
|
||||||
|
+++ b/src/AV/Output/VideoEncoder.cpp
|
||||||
|
@@ -34,7 +34,7 @@ const std::vector<VideoEncoder::PixelFormatData> VideoEncoder::SUPPORTED_PIXEL_F
|
||||||
|
{"rgb", AV_PIX_FMT_RGB24, false},
|
||||||
|
};
|
||||||
|
|
||||||
|
-VideoEncoder::VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options)
|
||||||
|
+VideoEncoder::VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options)
|
||||||
|
: BaseEncoder(muxer, stream, codec_context, codec, options) {
|
||||||
|
|
||||||
|
#if !SSR_USE_AVCODEC_ENCODE_VIDEO2
|
||||||
|
@@ -95,7 +95,7 @@ unsigned int VideoEncoder::GetFrameRate() {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool VideoEncoder::AVCodecIsSupported(const QString& codec_name) {
|
||||||
|
- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
|
||||||
|
+ const AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
|
||||||
|
if(codec == NULL)
|
||||||
|
return false;
|
||||||
|
if(!av_codec_is_encoder(codec))
|
||||||
|
@@ -111,7 +111,7 @@ bool VideoEncoder::AVCodecIsSupported(const QString& codec_name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void VideoEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
+void VideoEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
unsigned int bit_rate, unsigned int width, unsigned int height, unsigned int frame_rate) {
|
||||||
|
|
||||||
|
if(width == 0 || height == 0) {
|
||||||
|
diff --git a/src/AV/Output/VideoEncoder.h b/src/AV/Output/VideoEncoder.h
|
||||||
|
index cb7ca275..68d872ed 100644
|
||||||
|
--- a/src/AV/Output/VideoEncoder.h
|
||||||
|
+++ b/src/AV/Output/VideoEncoder.h
|
||||||
|
@@ -40,7 +40,7 @@ class VideoEncoder : public BaseEncoder {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public:
|
||||||
|
- VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options);
|
||||||
|
+ VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options);
|
||||||
|
~VideoEncoder();
|
||||||
|
|
||||||
|
// Returns the required pixel format.
|
||||||
|
@@ -55,7 +55,7 @@ class VideoEncoder : public BaseEncoder {
|
||||||
|
|
||||||
|
public:
|
||||||
|
static bool AVCodecIsSupported(const QString& codec_name);
|
||||||
|
- static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
+ static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
|
||||||
|
unsigned int bit_rate, unsigned int width, unsigned int height, unsigned int frame_rate);
|
||||||
|
|
||||||
|
private:
|
18
ssr.spec
18
ssr.spec
@ -1,5 +1,5 @@
|
|||||||
Name: ssr
|
Name: ssr
|
||||||
Version: 0.4.3
|
Version: 0.4.4
|
||||||
Release: 1mamba
|
Release: 1mamba
|
||||||
Summary: Simple Screen Recorder is a Linux program to record programs and games
|
Summary: Simple Screen Recorder is a Linux program to record programs and games
|
||||||
Group: Graphical Desktop/Applications/Multimedia
|
Group: Graphical Desktop/Applications/Multimedia
|
||||||
@ -8,33 +8,31 @@ Distribution: openmamba
|
|||||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
URL: https://www.maartenbaert.be/simplescreenrecorder/
|
URL: https://www.maartenbaert.be/simplescreenrecorder/
|
||||||
Source: https://github.com/MaartenBaert/ssr.git/%{version}/ssr-%{version}.tar.bz2
|
Source: https://github.com/MaartenBaert/ssr.git/%{version}/ssr-%{version}.tar.bz2
|
||||||
|
Patch0: ssr-0.4.4-ffmpeg-5.patch
|
||||||
License: GPL
|
License: GPL
|
||||||
## AUTOBUILDREQ-BEGIN
|
## AUTOBUILDREQ-BEGIN
|
||||||
BuildRequires: glibc-devel
|
BuildRequires: glibc-devel
|
||||||
BuildRequires: libGL-devel
|
|
||||||
BuildRequires: libGLU-devel
|
|
||||||
BuildRequires: libX11-devel
|
BuildRequires: libX11-devel
|
||||||
BuildRequires: libXau-devel
|
|
||||||
BuildRequires: libXdmcp-devel
|
|
||||||
BuildRequires: libXext-devel
|
BuildRequires: libXext-devel
|
||||||
BuildRequires: libXfixes-devel
|
BuildRequires: libXfixes-devel
|
||||||
BuildRequires: libXi-devel
|
BuildRequires: libXi-devel
|
||||||
|
BuildRequires: libXinerama-devel
|
||||||
BuildRequires: libalsa-devel
|
BuildRequires: libalsa-devel
|
||||||
BuildRequires: libavcodec-ffmpeg-devel
|
BuildRequires: libavcodec-ffmpeg-devel
|
||||||
BuildRequires: libavformat-ffmpeg-devel
|
BuildRequires: libavformat-ffmpeg-devel
|
||||||
BuildRequires: libavutil-ffmpeg-devel
|
BuildRequires: libavutil-ffmpeg-devel
|
||||||
BuildRequires: libbsd-devel
|
|
||||||
BuildRequires: libgcc
|
BuildRequires: libgcc
|
||||||
|
BuildRequires: libglu-devel
|
||||||
|
BuildRequires: libglvnd-devel
|
||||||
BuildRequires: libjack-devel
|
BuildRequires: libjack-devel
|
||||||
BuildRequires: libpulseaudio-devel
|
BuildRequires: libpulseaudio-devel
|
||||||
BuildRequires: libqt4-devel
|
BuildRequires: libqt4-devel
|
||||||
BuildRequires: libstdc++6-devel
|
BuildRequires: libstdc++6-devel
|
||||||
BuildRequires: libswscale-ffmpeg-devel
|
BuildRequires: libswscale-ffmpeg-devel
|
||||||
BuildRequires: libxcb-devel
|
BuildRequires: libv4l-devel
|
||||||
## AUTOBUILDREQ-END
|
## AUTOBUILDREQ-END
|
||||||
BuildRequires: libpulseaudio-devel >= 12.2
|
BuildRequires: libpulseaudio-devel >= 12.2
|
||||||
Provides: simplescreenrecorder
|
Provides: simplescreenrecorder
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Simple Stream Recorder is a Linux program to record programs and games.
|
Simple Stream Recorder is a Linux program to record programs and games.
|
||||||
@ -43,6 +41,7 @@ Simple Stream Recorder is a Linux program to record programs and games.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch 0 -p1 -b .ffmpeg-5
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake -d build
|
%cmake -d build
|
||||||
@ -76,6 +75,9 @@ Simple Stream Recorder is a Linux program to record programs and games.
|
|||||||
#%doc README.md
|
#%doc README.md
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 14 2024 Automatic Build System <autodist@openmamba.org> 0.4.4-1mamba
|
||||||
|
- automatic version update by autodist
|
||||||
|
|
||||||
* Mon Feb 22 2021 Automatic Build System <autodist@mambasoft.it> 0.4.3-1mamba
|
* Mon Feb 22 2021 Automatic Build System <autodist@mambasoft.it> 0.4.3-1mamba
|
||||||
- automatic version update by autodist
|
- automatic version update by autodist
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user