Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mpv-mpris for openSUSE:Factory checked in at 2023-04-04 21:26:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mpv-mpris (Old) and /work/SRC/openSUSE:Factory/.mpv-mpris.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mpv-mpris" Tue Apr 4 21:26:03 2023 rev:5 rq:1077054 version:1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/mpv-mpris/mpv-mpris.changes 2022-09-30 17:58:24.653327676 +0200 +++ /work/SRC/openSUSE:Factory/.mpv-mpris.new.19717/mpv-mpris.changes 2023-04-04 21:26:21.867217593 +0200 @@ -1,0 +2,13 @@ +Mon Apr 3 19:23:55 UTC 2023 - Mia Herkt <m...@0x0.st> + +- Update to 1.0 + * rename album fields to match MusicBrainz internal names + gh#hoyon/mpv-mpris#81 + * Fix string leaks in property change handler + gh#hoyon/mpv-mpris#84 + * Makefile: Allow to append CFLAGS / LDFLAGS from environment. + gh#hoyon/mpv-mpris#87 + * Do not use the default GMainContext + gh#hoyon/mpv-mpris#88 + +------------------------------------------------------------------- Old: ---- mpv-mpris-0.9.tar.gz New: ---- mpv-mpris-1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mpv-mpris.spec ++++++ --- /var/tmp/diff_new_pack.u6pgeX/_old 2023-04-04 21:26:22.591221703 +0200 +++ /var/tmp/diff_new_pack.u6pgeX/_new 2023-04-04 21:26:22.607221794 +0200 @@ -1,7 +1,7 @@ # # spec file for package mpv-mpris # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: mpv-mpris -Version: 0.9 +Version: 1.0 Release: 0 Summary: MPRIS plugin for mpv License: MIT ++++++ mpv-mpris-0.9.tar.gz -> mpv-mpris-1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpv-mpris-0.9/Makefile new/mpv-mpris-1.0/Makefile --- old/mpv-mpris-0.9/Makefile 2022-09-10 13:07:27.000000000 +0200 +++ new/mpv-mpris-1.0/Makefile 2023-03-30 20:21:58.000000000 +0200 @@ -6,8 +6,9 @@ LN := ln RM := rm -CFLAGS += -std=c99 -Wall -Wextra -O2 -pedantic $(shell $(PKG_CONFIG) --cflags gio-2.0 gio-unix-2.0 glib-2.0 mpv) -LDFLAGS += $(shell $(PKG_CONFIG) --libs gio-2.0 gio-unix-2.0 glib-2.0) +# Base flags, environment CFLAGS / LDFLAGS can be appended. +BASE_CFLAGS = -std=c99 -Wall -Wextra -O2 -pedantic $(shell $(PKG_CONFIG) --cflags gio-2.0 gio-unix-2.0 glib-2.0 mpv) +BASE_LDFLAGS = $(shell $(PKG_CONFIG) --libs gio-2.0 gio-unix-2.0 glib-2.0) SCRIPTS_DIR := $(HOME)/.config/mpv/scripts @@ -24,7 +25,7 @@ clean mpris.so: mpris.c - $(CC) mpris.c -o mpris.so $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC + $(CC) mpris.c -o mpris.so $(BASE_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(BASE_LDFLAGS) $(LDFLAGS) -shared -fPIC ifneq ($(UID),0) install: install-user diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpv-mpris-0.9/mpris.c new/mpv-mpris-1.0/mpris.c --- old/mpv-mpris-0.9/mpris.c 2022-09-10 13:07:27.000000000 +0200 +++ new/mpv-mpris-1.0/mpris.c 2023-03-30 20:21:58.000000000 +0200 @@ -365,18 +365,18 @@ // IDv3 metadata format add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Artist Id", "mb:artistId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Track Id", "mb:recordingId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Album Artist Id", "mb:releaseArtistId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Album Id", "mb:releaseId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Release Track Id", "mb:trackId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Track Id", "mb:trackId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Album Artist Id", "mb:albumArtistId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Album Id", "mb:albumId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Release Track Id", "mb:releaseTrackId"); add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MusicBrainz Work Id", "mb:workId"); // Vorbis & APEv2 metadata format add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_ARTISTID", "mb:artistId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_TRACKID", "mb:recordingId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_ALBUMARTISTID", "mb:releaseArtistId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_ALBUMID", "mb:releaseId"); - add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_RELEASETRACKID", "mb:trackId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_TRACKID", "mb:trackId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_ALBUMARTISTID", "mb:albumArtistId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_ALBUMID", "mb:albumId"); + add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_RELEASETRACKID", "mb:releaseTrackId"); add_metadata_item_string(ud->mpv, &dict, "metadata/by-key/MUSICBRAINZ_WORKID", "mb:workId"); add_metadata_item_string_list(ud->mpv, &dict, "metadata/by-key/uploader", "xesam:artist"); @@ -900,6 +900,7 @@ } else { ud->loop_status = LOOP_NONE; } + mpv_free(playlist_status); } prop_name = "LoopStatus"; prop_value = g_variant_new_string(ud->loop_status); @@ -916,6 +917,7 @@ } else { ud->loop_status = LOOP_NONE; } + mpv_free(file_status); } prop_name = "LoopStatus"; prop_value = g_variant_new_string(ud->loop_status); @@ -986,15 +988,17 @@ // Plugin entry point int mpv_open_cplugin(mpv_handle *mpv) { + GMainContext *ctx; GMainLoop *loop; UserData ud = {0}; GError *error = NULL; GDBusNodeInfo *introspection_data = NULL; int pipe[2]; - guint mpv_pipe_source; - guint timeout_source; + GSource *mpv_pipe_source; + GSource *timeout_source; - loop = g_main_loop_new(NULL, FALSE); + ctx = g_main_context_new(); + loop = g_main_loop_new(ctx, FALSE); // Load introspection data and split into separate interfaces introspection_data = g_dbus_node_info_new_for_xml(introspection_xml, &error); @@ -1013,6 +1017,7 @@ ud.changed_properties = g_hash_table_new(g_str_hash, g_str_equal); ud.seek_expected = FALSE; + g_main_context_push_thread_default(ctx); ud.bus_id = g_bus_own_name(G_BUS_TYPE_SESSION, "org.mpris.MediaPlayer2.mpv", G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE, @@ -1020,6 +1025,7 @@ NULL, on_name_lost, &ud, NULL); + g_main_context_pop_thread_default(ctx); // Receive event for property changes mpv_observe_property(mpv, 0, "pause", MPV_FORMAT_FLAG); @@ -1038,21 +1044,32 @@ } fcntl(pipe[0], F_SETFL, O_NONBLOCK); mpv_set_wakeup_callback(mpv, wakeup_handler, &pipe[1]); - mpv_pipe_source = g_unix_fd_add(pipe[0], G_IO_IN, event_handler, &ud); + mpv_pipe_source = g_unix_fd_source_new(pipe[0], G_IO_IN); + g_source_set_callback(mpv_pipe_source, + G_SOURCE_FUNC(event_handler), + &ud, + NULL); + g_source_attach(mpv_pipe_source, ctx); // Emit any new property changes every 100ms - timeout_source = g_timeout_add(100, emit_property_changes, &ud); + timeout_source = g_timeout_source_new(100); + g_source_set_callback(timeout_source, + G_SOURCE_FUNC(emit_property_changes), + &ud, + NULL); + g_source_attach(timeout_source, ctx); g_main_loop_run(loop); - g_source_remove(mpv_pipe_source); - g_source_remove(timeout_source); + g_source_unref(mpv_pipe_source); + g_source_unref(timeout_source); g_dbus_connection_unregister_object(ud.connection, ud.root_interface_id); g_dbus_connection_unregister_object(ud.connection, ud.player_interface_id); g_bus_unown_name(ud.bus_id); g_main_loop_unref(loop); + g_main_context_unref(ctx); g_dbus_node_info_unref(introspection_data); return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpv-mpris-0.9/test/setup new/mpv-mpris-1.0/test/setup --- old/mpv-mpris-0.9/test/setup 2022-09-10 13:07:27.000000000 +0200 +++ new/mpv-mpris-1.0/test/setup 2023-03-30 20:21:58.000000000 +0200 @@ -107,6 +107,7 @@ mpv \ "${params[@]}" \ +--no-config \ --vo=null --ao=null \ --msg-time \ --msg-module \