Compare commits

..

No commits in common. 'f38r' and 'i10r' have entirely different histories.
f38r ... i10r

@ -0,0 +1,4 @@
dfda39e3074b4b6474df4565b3bf86c343c157dc SOURCES/1.9.6.tar.gz
999af9b0c8b79dd7eac061c4144508608495576d SOURCES/ddb_output_pw-156195c.tar.gz
1f85758e9a639ec86f8dfbd42b530e9ff49b8807 SOURCES/ddb_dsp_libretro-156195c.tar.gz
ec22f372f190acdc62593760de7084c58df05773 SOURCES/mp4p-156195c.tar.gz

34
.gitignore vendored

@ -1,30 +1,4 @@
/deadbeef-0.7.2.tar.bz2
/6d02b028861ab4c8c8f06f480d5b2197011b6dbd
/73f972277cd7ecebc92dda6ae2a74ea05a9719f6
/373f55642b6b752bdca159ed621fcd732ce9063c
/1.8.0.tar.gz
/1.8.1.tar.gz
/1.8.2.tar.gz
/1.8.3.tar.gz
/1.8.4.tar.gz
/1.8.7.tar.gz
/mp4p-f111d7a.tar.gz
/1.8.8.tar.gz
/mp4p-82291e4.tar.gz
/1.9.0.tar.gz
/mp4p-a80941d.tar.gz
/1.9.0.tar.gz
/mp4p-a80941d.tar.gz
/1.9.1.tar.gz
/1.9.2.tar.gz
/mp4p-814f747.tar.gz
/1.9.3.tar.gz
/1.9.4.tar.gz
/mp4p-97ab728.tar.gz
/1.9.5.tar.gz
/ddb_dsp_libretro-97ab728.tar.gz
/ddb_output_pw-97ab728.tar.gz
/1.9.6.tar.gz
/mp4p-156195c.tar.gz
/ddb_dsp_libretro-156195c.tar.gz
/ddb_output_pw-156195c.tar.gz
SOURCES/1.9.6.tar.gz
SOURCES/ddb_output_pw-156195c.tar.gz
SOURCES/ddb_dsp_libretro-156195c.tar.gz
SOURCES/mp4p-156195c.tar.gz

@ -0,0 +1,34 @@
From c972c31ef25a7abcb40423f8be78b91f749bd479 Mon Sep 17 00:00:00 2001
From: Sergey Cherevko <s.cherevko@msvsphere.ru>
Date: Wed, 9 Aug 2023 18:50:01 +0300
Subject: [PATCH] Added Russian description for ArcMenu
---
deadbeef.desktop.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/deadbeef.desktop.in b/deadbeef.desktop.in
index cd35a1a..3a52ac9 100644
--- a/deadbeef.desktop.in
+++ b/deadbeef.desktop.in
@@ -1,14 +1,15 @@
[Desktop Entry]
Type=Application
Name=DeaDBeeF
+Name[ru]=Аудиопроигрыватель DeaDBeeF
GenericName=Audio Player
GenericName[pt_BR]=Reprodutor de áudio
-GenericName[ru]=Аудио плеер
+GenericName[ru]=Аудиопроигрыватель
GenericName[zh_CN]=音频播放器
GenericName[zh_TW]=音樂播放器
Comment=Listen to music
Comment[pt_BR]=Escute músicas
-Comment[ru]=Слушай музыку
+Comment[ru]=Воспроизведение музыки и аудио
Comment[zh_CN]=倾听音乐
Comment[zh_TW]=聆聽音樂
Icon=deadbeef
--
2.39.2

@ -0,0 +1,70 @@
From ff5fd95f56936db97da747bf71ece8b872b9f209 Mon Sep 17 00:00:00 2001
From: tigro <tigro@msvsphere-os.ru>
Date: Sat, 28 Dec 2024 12:27:48 +0300
Subject: [PATCH] Drop inappropriate symbols
---
ChangeLog | 1 -
about.txt | 2 --
help.txt | 2 --
plugins/cocoaui/help-cocoa.txt | 2 --
src/main.c | 1 -
5 files changed, 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e85a0cc..4ec7ab5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -110,7 +110,6 @@ version 1.9.0
Added: Improved DSP preferences GTK UI (Saivert)
Added: Improved handling of invalid MP3 files
Added: Last.fm scrobbler will use HTTPS by default
- Glory to Ukraine! 💛💙
version 1.8.8
Fixed: A crash and file path issues in PSF plugin (greedysky)
diff --git a/about.txt b/about.txt
index f8ea707..edcdc65 100644
--- a/about.txt
+++ b/about.txt
@@ -1,5 +1,3 @@
-💛💙
-
DeaDBeeF - The Music Player
Copyright © 2009-2023 Oleksiy Yakovenko and contributors
https://deadbeef.sourceforge.io
diff --git a/help.txt b/help.txt
index 8cb62ed..2dad563 100644
--- a/help.txt
+++ b/help.txt
@@ -1,5 +1,3 @@
-💛💙
-
Help file for GTK version of Deadbeef Player (Linux/*BSD and friends)
* LINKS
diff --git a/plugins/cocoaui/help-cocoa.txt b/plugins/cocoaui/help-cocoa.txt
index fa03d57..e4c2296 100644
--- a/plugins/cocoaui/help-cocoa.txt
+++ b/plugins/cocoaui/help-cocoa.txt
@@ -1,5 +1,3 @@
-💛💙
-
Help file for Cocoa/macOS version of DeaDBeeF Player
* LINKS
diff --git a/src/main.c b/src/main.c
index 8c9f30f..1c0885a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1069,7 +1069,6 @@ main_cleanup_and_quit (void) {
plug_cleanup ();
trace ("logger_free\n");
- trace ("💛💙\n");
ddb_logger_free();
char crash_marker[PATH_MAX];
--
2.47.1

File diff suppressed because it is too large Load Diff

@ -0,0 +1,176 @@
From d4cca5605447122cd080691f43e46047a6039359 Mon Sep 17 00:00:00 2001
From: Christopher Snowhill <kode54@gmail.com>
Date: Fri, 21 Jun 2024 21:35:53 -0700
Subject: [PATCH] ffmpeg: update API to support FFMPEG 7
---
plugins/ffmpeg/ffmpeg.c | 53 ++++++++++++++++++++++++++++++++++-------
1 file changed, 44 insertions(+), 9 deletions(-)
diff --git a/plugins/ffmpeg/ffmpeg.c b/plugins/ffmpeg/ffmpeg.c
index 97545e987d..69c4e83df8 100644
--- a/plugins/ffmpeg/ffmpeg.c
+++ b/plugins/ffmpeg/ffmpeg.c
@@ -62,7 +62,7 @@ static int enable_dop = 0;
typedef struct {
DB_fileinfo_t info;
- AVCodec *codec;
+ const AVCodec *codec;
AVCodecContext *codec_context;
int need_to_free_codec_context;
AVFormatContext *format_context;
@@ -115,12 +115,20 @@ int is_codec_dsd(enum AVCodecID codec_id) {
// ensure that the buffer can contain entire frame of frame_size bytes per channel
static int
ensure_buffer (ffmpeg_info_t *info, size_t frame_size) {
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ if (!info->buffer || info->buffer_size < frame_size * info->codec_context->ch_layout.nb_channels) {
+#else
if (!info->buffer || info->buffer_size < frame_size * info->codec_context->channels) {
+#endif
if (info->buffer) {
free (info->buffer);
info->buffer = NULL;
}
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ info->buffer_size = frame_size*info->codec_context->ch_layout.nb_channels;
+#else
info->buffer_size = frame_size*info->codec_context->channels;
+#endif
info->left_in_buffer = 0;
int err = posix_memalign ((void **)&info->buffer, 16, info->buffer_size);
if (err) {
@@ -137,7 +145,7 @@ _get_audio_codec_from_stream(AVFormatContext *format_context, int stream_index,
if (format_context->streams[stream_index]->codecpar->codec_type != AVMEDIA_TYPE_AUDIO) {
return 0;
}
- AVCodec *codec = avcodec_find_decoder(format_context->streams[stream_index]->codecpar->codec_id);
+ const AVCodec *codec = avcodec_find_decoder(format_context->streams[stream_index]->codecpar->codec_id);
if (codec == NULL) {
return 0;
}
@@ -154,7 +162,7 @@ _get_audio_codec_from_stream(AVFormatContext *format_context, int stream_index,
if (ctx == NULL) {
return 0;
}
- AVCodec *codec = avcodec_find_decoder (ctx->codec_id);
+ const AVCodec *codec = avcodec_find_decoder (ctx->codec_id);
if (codec == NULL) {
return 0;
}
@@ -231,7 +239,11 @@ ffmpeg_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
int bps = av_get_bytes_per_sample (info->codec_context->sample_fmt)*8;
int samplerate = info->codec_context->sample_rate;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ if (bps <= 0 || info->codec_context->ch_layout.nb_channels <= 0 || samplerate <= 0) {
+#else
if (bps <= 0 || info->codec_context->channels <= 0 || samplerate <= 0) {
+#endif
return -1;
}
@@ -248,7 +260,11 @@ ffmpeg_init (DB_fileinfo_t *_info, DB_playItem_t *it) {
_info->plugin = &plugin.decoder;
_info->readpos = 0;
_info->fmt.bps = bps;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ _info->fmt.channels = info->codec_context->ch_layout.nb_channels;
+#else
_info->fmt.channels = info->codec_context->channels;
+#endif
_info->fmt.samplerate = samplerate;
if (info->codec_context->sample_fmt == AV_SAMPLE_FMT_FLT || info->codec_context->sample_fmt == AV_SAMPLE_FMT_FLTP) {
_info->fmt.is_float = 1;
@@ -296,7 +312,9 @@ _free_info_data(ffmpeg_info_t *info) {
av_packet_unref (&info->pkt);
}
if (info->codec_context) {
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(61, 0, 0)
avcodec_close (info->codec_context);
+#endif
// The ctx is owned by AVFormatContext in legacy mode
if (info->need_to_free_codec_context) {
@@ -396,7 +414,11 @@ ffmpeg_read (DB_fileinfo_t *_info, char *bytes, int size) {
return -1;
}
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ int chCnt = info->codec_context->ch_layout.nb_channels;
+#else
int chCnt = info->codec_context->channels;
+#endif
int chSize = info->pkt.size / chCnt;
uint32_t *pOut = (uint32_t *)info->buffer;
uint8_t marker = 0x05;
@@ -462,25 +484,30 @@ ffmpeg_read (DB_fileinfo_t *_info, char *bytes, int size) {
return -1;
}
if (av_sample_fmt_is_planar(info->codec_context->sample_fmt)) {
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ int chCnt = info->codec_context->ch_layout.nb_channels;
+#else
+ int chCnt = info->codec_context->channels;
+#endif
out_size = 0;
- for (int c = 0; c < info->codec_context->channels; c++) {
+ for (int c = 0; c < chCnt; c++) {
for (int i = 0; i < info->frame->nb_samples; i++) {
if (_info->fmt.bps == 8) {
- info->buffer[i*info->codec_context->channels+c] = ((int8_t *)info->frame->extended_data[c])[i];
+ info->buffer[i*chCnt+c] = ((int8_t *)info->frame->extended_data[c])[i];
out_size++;
}
else if (_info->fmt.bps == 16) {
int16_t outsample = ((int16_t *)info->frame->extended_data[c])[i];
- ((int16_t*)info->buffer)[i*info->codec_context->channels+c] = outsample;
+ ((int16_t*)info->buffer)[i*chCnt+c] = outsample;
out_size += 2;
}
else if (_info->fmt.bps == 24) {
- memcpy (&info->buffer[(i*info->codec_context->channels+c)*3], &((int8_t*)info->frame->extended_data[c])[i*3], 3);
+ memcpy (&info->buffer[(i*chCnt+c)*3], &((int8_t*)info->frame->extended_data[c])[i*3], 3);
out_size += 3;
}
else if (_info->fmt.bps == 32) {
int32_t sample = ((int32_t *)info->frame->extended_data[c])[i];
- ((int32_t*)info->buffer)[i*info->codec_context->channels+c] = sample;
+ ((int32_t*)info->buffer)[i*chCnt+c] = sample;
out_size += 4;
}
}
@@ -784,7 +811,11 @@ ffmpeg_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
trace ("ffmpeg: samplerate is %d\n", samplerate);
trace ("ffmpeg: duration is %f\n", duration);
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ if (bps <= 0 || info.codec_context->ch_layout.nb_channels <= 0 || samplerate <= 0) {
+#else
if (bps <= 0 || info.codec_context->channels <= 0 || samplerate <= 0) {
+#endif
goto error;
}
@@ -819,7 +850,11 @@ ffmpeg_insert (ddb_playlist_t *plt, DB_playItem_t *after, const char *fname) {
deadbeef->pl_add_meta (it, ":FILE_SIZE", s);
snprintf (s, sizeof (s), "%d", bps);
deadbeef->pl_add_meta (it, ":BPS", s);
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 0, 0)
+ snprintf (s, sizeof (s), "%d", info.codec_context->ch_layout.nb_channels);
+#else
snprintf (s, sizeof (s), "%d", info.codec_context->channels);
+#endif
deadbeef->pl_add_meta (it, ":CHANNELS", s);
if (is_codec_dsd(info.codec_context->codec_id)) {
snprintf (s, sizeof (s), "%d", samplerate * 8);
@@ -904,7 +939,7 @@ ffmpeg_init_exts (void) {
n = add_new_exts (n, new_exts, ';');
}
else {
- AVInputFormat *ifmt = NULL;
+ const AVInputFormat *ifmt = NULL;
/*
* It's quite complicated to enumerate all supported extensions in
* ffmpeg. If a decoder defines extensions in ffmpeg, the probing

@ -14,7 +14,7 @@
Name: deadbeef
Version: 1.9.6
Release: 1%{?dist}
Release: 4%{?dist}.inferit
Summary: An audio player for GNU/Linux
License: GPL-2.0-or later AND LGPL-2.0-or-later and BSD and MIT AND Zlib
@ -23,6 +23,10 @@ Source0: https://github.com/DeaDBeeF-Player/%{name}/archive/%{version}.ta
Source1: https://github.com/DeaDBeeF-Player/mp4p/archive/%{mp4p_commit}/mp4p-%{mp4p_shortcommit}.tar.gz
Source2: https://github.com/DeaDBeeF-Player/ddb_dsp_libretro/archive/%{ddb_dsp_libretro_commit}/ddb_dsp_libretro-%{ddb_dsp_libretro_shortcommit}.tar.gz
Source3: https://github.com/DeaDBeeF-Player/ddb_output_pw/archive/%{ddb_output_pw_commit}/ddb_output_pw-%{ddb_output_pw_shortcommit}.tar.gz
Patch0: https://github.com/DeaDBeeF-Player/deadbeef/commit/d4cca5605447122cd080691f43e46047a6039359.patch#/deadbeef-ffmpeg-7.patch
Patch100: 0001-Revert-Russian-Removing.patch
Patch101: 0001-Drop-inappropriate-symbols.patch
Patch102: 0001-Added-Russian-description-for-ArcMenu.patch
# Build for armv7hl failed
# https://github.com/DeaDBeeF-Player/deadbeef/issues/2538
@ -98,6 +102,9 @@ mv ddb_dsp_libretro-%{ddb_dsp_libretro_commit}/* external/ddb_dsp_libretro
sed -i 's|#include <stdint.h>||' external/ddb_dsp_libretro/sinc_resampler.h
sed -i "s|#pragma once|#pragma once\n#include <cstdint>|" external/ddb_dsp_libretro/sinc_resampler.h
sed -i "s|size_t|std::size_t|" external/ddb_dsp_libretro/sinc_resampler.h
%ifnarch x86_64
sed -i -re 's/^(.*)\s+([-]msse3)\s+(.*)$/\1 \3/g' external/ddb_dsp_libretro/Makefile.am
%endif
tar -xvf %{SOURCE3}
mv ddb_output_pw-%{ddb_output_pw_commit}/* external/ddb_output_pw
@ -112,9 +119,6 @@ do
done
%build
%if 0%{?fedora} && 0%{?fedora} > 35
export PKG_CONFIG_PATH="%{_libdir}/compat-ffmpeg4/pkgconfig"
%endif
./autogen.sh
%configure \
--enable-ffmpeg --docdir=%{_defaultdocdir}/%{name}-%{version} \
@ -170,6 +174,20 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%changelog
* Sat Dec 28 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 1.9.6-4.inferit
- Added Russian description for ArcMenu
- Revert politial remove of Russian support
- Drop inappropriate symbols
* Sat Oct 12 2024 Leigh Scott <leigh123linux@gmail.com> - 1.9.6-4
- rebuild for ffmpeg
* Thu Aug 01 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 1.9.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Feb 03 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 1.9.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Nov 13 2023 Vasiliy N. Glazov <vascom2@gmail.com> - 1.9.6-1
- Update to 1.9.6

@ -1,4 +0,0 @@
SHA512 (1.9.6.tar.gz) = 43f864e307d2bc18bbb45edd6ab5deb019b54156a5bda73ba27e70765ea7c3b373f9b3cf8971cb90e6eb8c9ff0b9f74c556b855746b3251b78b8423051fb6de1
SHA512 (mp4p-156195c.tar.gz) = 55c80468545caf4608aa5ad568ff1eec5f7a169aec64c7cfc23c57eaa3aa006960ad02f7f99d8143f15447a1bfcc174a1e15f2c1b2f6182adbd90f8359d41cbb
SHA512 (ddb_dsp_libretro-156195c.tar.gz) = 4e54ab0da363a2d86041c18e4c7eb1d4eb78adaa8252fa65d31bd29a3b0c0fe2bc064058e7a2bd9b279b8f74d02bfb605d71cee73ac8bb246c5ad87601fab6f4
SHA512 (ddb_output_pw-156195c.tar.gz) = eaaa9c8dd138e58416ade2eecf500f21a427d84b81f73b34ead858c54c210655c27c57986aa38c3a1693fa4ace69d711b688b027d490a03b3abb91413754c50a
Loading…
Cancel
Save