Update to Aqualung 1.1

All patches have been upstreamed.
This commit is contained in:
jeremy 2020-08-31 18:05:56 +00:00
parent 2f59325c9f
commit bdaf65b3ee
7 changed files with 6 additions and 167 deletions

View File

@ -1,10 +1,9 @@
# $OpenBSD: Makefile,v 1.56 2020/07/03 02:28:35 jeremy Exp $
# $OpenBSD: Makefile,v 1.57 2020/08/31 18:05:56 jeremy Exp $
COMMENT= advanced music player
VERSION= 1.0
VERSION= 1.1
DISTNAME= aqualung-${VERSION}
REVISION= 11
EPOCH= 0
CATEGORIES= audio
@ -17,8 +16,8 @@ PERMIT_PACKAGE= Yes
WANTLIB += X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi Xinerama
WANTLIB += Xrandr Xrender atk-1.0 bz2 c cairo fontconfig
WANTLIB += freetype gio-2.0 glib-2.0 gobject-2.0
WANTLIB += gthread-2.0 iconv intl m mp3lame ogg pango-1.0 pangocairo-1.0
WANTLIB += freetype gio-2.0 glib-2.0 gobject-2.0 gthread-2.0
WANTLIB += harfbuzz iconv intl m mp3lame ogg pango-1.0 pangocairo-1.0
WANTLIB += pangoft2-1.0 pthread samplerate sndfile sndio ${COMPILER_LIBCXX}
WANTLIB += vorbis vorbisenc vorbisfile z gtk-x11-2.0 gdk-x11-2.0
WANTLIB += gdk_pixbuf-2.0 xml2 mac mad mpcdec FLAC avcodec

View File

@ -1,2 +1,2 @@
SHA256 (aqualung-1.0.tar.gz) = wobBQywUdRJ/TpUlcCvLSG7YX8YlOb0+80TZIzPoQ0c=
SIZE (aqualung-1.0.tar.gz) = 2014854
SHA256 (aqualung-1.1.tar.gz) = dRwN+naEAie4vl0JmFmZC8dlGAulzVVsbHL4GzaK/Lw=
SIZE (aqualung-1.1.tar.gz) = 1986368

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-src_cddb_lookup_c,v 1.1 2020/07/01 21:16:02 jeremy Exp $
Change default CDDB port to 8880, as that is what gnudb.org uses.
Index: src/cddb_lookup.c
--- src/cddb_lookup.c.orig
+++ src/cddb_lookup.c
@@ -223,7 +223,7 @@ cddb_connection_setup(cddb_conn_t ** conn) {
cddb_set_server_port(*conn, 80);
} else {
cddb_http_disable(*conn);
- cddb_set_server_port(*conn, 888);
+ cddb_set_server_port(*conn, 8880);
}
}

View File

@ -1,80 +0,0 @@
$OpenBSD: patch-src_core_c,v 1.8 2020/07/03 02:28:35 jeremy Exp $
Reinit sndio if there is a audio(4) error. Without this, aqualung is
unusable after an audio(4) error until it is closed and reopened.
Create .config directory before .config/aqualung if it does not exist.
Index: src/core.c
--- src/core.c.orig
+++ src/core.c
@@ -20,6 +20,7 @@
#include <config.h>
+#include <libgen.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
@@ -119,6 +120,10 @@ GSList * saved_pconns_L = NULL;
GSList * saved_pconns_R = NULL;
#endif /* HAVE_JACK */
+#ifdef HAVE_SNDIO
+int sndio_reinit(thread_info_t * info, int verbose);
+#endif /* HAVE_SNDIO */
+
const size_t sample_size = sizeof(float);
gint playlist_state, browser_state;
@@ -802,8 +807,15 @@ sndio_thread(void * arg) {
/* write data to audio device */
bytes_written = sio_write(sndio_hdl, sndio_short_buf, 2*n_avail * sizeof(short));
- if (bytes_written != 2*n_avail * sizeof(short))
+ if (bytes_written != 2*n_avail * sizeof(short)) {
fprintf(stderr, "sndio_thread: Error writing to audio device\n");
+ if (sndio_reinit(info, 1) == 0) {
+ fprintf(stderr, "sndio_thread: audio device reinit successful\n");
+ sio_close(sndio_hdl);
+ sndio_hdl = info->sndio_hdl;
+ goto sndio_wake;
+ }
+ }
}
sndio_finish:
return 0;
@@ -1235,7 +1247,7 @@ jack_info_shutdown(jack_status_t code, const char * re
* -N : unable to start with given params
*/
int
-sndio_init(thread_info_t * info, int verbose, gboolean realtime, int priority) {
+sndio_reinit(thread_info_t * info, int verbose) {
struct sio_hdl * sndio_hdl;
struct sio_par sndio_par;
@@ -1300,6 +1312,15 @@ sndio_init(thread_info_t * info, int verbose, gboolean
}
info->sndio_hdl = sndio_hdl;
+ return 0;
+}
+
+int
+sndio_init(thread_info_t * info, int verbose, gboolean realtime, int priority) {
+ int ret;
+ if ((ret = sndio_reinit(info, verbose)) != 0) {
+ return ret;
+ }
AQUALUNG_THREAD_CREATE(info->sndio_thread_id, NULL, sndio_thread, info)
set_thread_priority(info->sndio_thread_id, "sndio output", realtime, priority);
@@ -1887,6 +1908,8 @@ load_default_cl(int * argc, char *** argv) {
if (chdir(options.confdir) != 0) {
if (errno == ENOENT) {
fprintf(stderr, "Creating directory %s\n", options.confdir);
+ /* Try creating .config before .config/aqualung */
+ mkdir(dirname(options.confdir), S_IRUSR | S_IWUSR | S_IXUSR);
if (mkdir(options.confdir, S_IRUSR | S_IWUSR | S_IXUSR) < 0) {
perror("cannot create config directory: mkdir");
exit(1);

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-src_decoder_dec_lavc_c,v 1.6 2019/02/03 03:58:35 bentley Exp $
Fix build on ffmpeg 4.
From upstream 3f60efe3dbab8e9d2c07a7b183fd009b3c999d60.
Index: src/decoder/dec_lavc.c
--- src/decoder/dec_lavc.c.orig
+++ src/decoder/dec_lavc.c
@@ -280,10 +280,12 @@ lavc_decoder_open(decoder_t * dec, char * filename) {
return DECODER_OPEN_BADLIB;
pd->avCodecCtx = pd->avFormatCtx->streams[pd->audioStream]->codec;
+#if LIBAVCODEC_VERSION_MAJOR < 55
#if LIBAVCODEC_VERSION_MAJOR >= 53
pd->avCodecCtx->get_buffer = avcodec_default_get_buffer;
pd->avCodecCtx->release_buffer = avcodec_default_release_buffer;
#endif /* LIBAVCODEC_VERSION_MAJOR >= 53 */
+#endif /* LIBAVCODEC_VERSION_MAJOR < 55 */
pd->time_base = pd->avFormatCtx->streams[pd->audioStream]->time_base;

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-src_decoder_dec_mac_cpp,v 1.2 2016/11/03 13:07:06 jeremy Exp $
GetUTF16FromANSI is no longer under the CAPECharacterHelper namespace
in the current version of libmac.
--- src/decoder/dec_mac.cpp.orig Thu Nov 3 13:39:04 2016
+++ src/decoder/dec_mac.cpp Thu Nov 3 13:39:08 2016
@@ -174,7 +174,7 @@ mac_decoder_open(decoder_t * dec, char * filename) {
int ret = 0;
- wchar_t * pUTF16 = CAPECharacterHelper::GetUTF16FromANSI(filename);
+ wchar_t * pUTF16 = GetUTF16FromANSI(filename);
pdecompress = CreateIAPEDecompress(pUTF16, &ret);
free(pUTF16);

View File

@ -1,27 +0,0 @@
$OpenBSD: patch-src_gui_main_c,v 1.3 2020/07/01 21:16:02 jeremy Exp $
Use the default skin by default.
Switch from freedb.org to gnudb.org for the CDDB server.
Index: src/gui_main.c
--- src/gui_main.c.orig
+++ src/gui_main.c
@@ -3565,7 +3565,7 @@ create_gui(int argc, char ** argv, int optind, int enq
if (options.title_format[0] == '\0')
sprintf(options.title_format, "%%a: %%t [%%r]");
if (options.skin[0] == '\0') {
- sprintf(options.skin, "%s/plain", AQUALUNG_SKINDIR);
+ sprintf(options.skin, "%s/default", AQUALUNG_SKINDIR);
options.main_pos_x = 280;
options.main_pos_y = 30;
options.main_size_x = 380;
@@ -3583,7 +3583,7 @@ create_gui(int argc, char ** argv, int optind, int enq
}
if (options.cddb_server[0] == '\0') {
- sprintf(options.cddb_server, "freedb.org");
+ sprintf(options.cddb_server, "gnudb.org");
}
if (options.src_type == -1) {