rhythmbox r5442 - in trunk: . backends/gstreamer lib metadata podcast rhythmdb shell
- From: jmatthew svn gnome org
- To: svn-commits-list gnome org
- Subject: rhythmbox r5442 - in trunk: . backends/gstreamer lib metadata podcast rhythmdb shell
- Date: Mon, 12 Nov 2007 11:55:31 +0000 (GMT)
Author: jmatthew
Date: 2007-11-12 11:55:30 +0000 (Mon, 12 Nov 2007)
New Revision: 5442
ViewCVS link: http://svn.gnome.org/viewcvs/rhythmbox?rev=5442&view=rev
Added:
trunk/shell/rb-missing-plugins.c
trunk/shell/rb-missing-plugins.h
Modified:
trunk/ChangeLog
trunk/backends/gstreamer/Makefile.am
trunk/backends/gstreamer/rb-player-gst-xfade.c
trunk/backends/gstreamer/rb-player-gst.c
trunk/configure.ac
trunk/lib/rb-marshal.list
trunk/metadata/Makefile.am
trunk/metadata/rb-metadata-dbus-client.c
trunk/metadata/rb-metadata-dbus-service.c
trunk/metadata/rb-metadata-dbus.c
trunk/metadata/rb-metadata-dbus.h
trunk/metadata/rb-metadata-gst.c
trunk/metadata/rb-metadata.h
trunk/metadata/test-metadata.c
trunk/podcast/rb-podcast-manager.c
trunk/rhythmdb/rhythmdb-private.h
trunk/rhythmdb/rhythmdb.c
trunk/shell/Makefile.am
trunk/shell/rb-shell-player.c
trunk/shell/rb-shell.c
Log:
2007-11-12 Jonathan Matthew <jonathan d14n org>
* configure.ac:
* metadata/Makefile.am:
* metadata/rb-metadata-dbus-client.c: (rb_metadata_load),
(rb_metadata_has_missing_plugins),
(rb_metadata_get_missing_plugins):
* metadata/rb-metadata-dbus-service.c: (_send_error),
(rb_metadata_dbus_load), (rb_metadata_dbus_can_save),
(rb_metadata_dbus_save), (test_load):
* metadata/rb-metadata-dbus.c: (rb_metadata_dbus_get_strv),
(rb_metadata_dbus_add_strv):
* metadata/rb-metadata-dbus.h:
* metadata/rb-metadata-gst.c: (rb_metadata_gst_new_decoded_pad_cb),
(rb_metadata_gst_unknown_type_cb),
(rb_metadata_handle_missing_plugin_message),
(rb_metadata_bus_handler), (rb_metadata_load),
(rb_metadata_has_missing_plugins),
(rb_metadata_get_missing_plugins):
* metadata/rb-metadata.h:
* metadata/test-metadata.c: (load_metadata_cb):
Process GStreamer missing-plugin messages. This requires a slightly
newer version of GStreamer than we otherwise require, so it's
conditional. Missing plugin information is available to callers of
the RBMetadata interface.
* shell/Makefile.am:
* lib/rb-marshal.list:
* shell/rb-shell.c: (rb_shell_constructor):
* shell/rb-missing-plugins.c:
(rb_plugin_install_plugin_is_blacklisted),
(rb_plugin_install_blacklist_plugin),
(rb_plugin_install_context_free), (rb_plugin_install_done),
(on_plugin_installation_done), (missing_plugins_event),
(missing_plugins_cb), (rb_missing_plugins_init):
* shell/rb-missing-plugins.h:
Add some machinery for calling GStreamer plugin installation helpers
and then retrying the original operation.
* rhythmdb/rhythmdb-private.h:
* rhythmdb/rhythmdb.c: (rhythmdb_class_init), (rhythmdb_init),
(rhythmdb_shutdown), (rhythmdb_finalize), (rhythmdb_read_leave),
(rhythmdb_process_metadata_load_real),
(rhythmdb_missing_plugins_cb),
(rhythmdb_missing_plugin_event_cleanup),
(rhythmdb_process_metadata_load), (rhythmdb_process_one_event),
(rhythmdb_execute_load):
Add missing plugin handling for file importing. Requires some
interesting locking to block further import attempts while installing
plugins. We don't process missing plugins for files we're going to
ignore anyway.
Also, while the database is read-only, add write operations to a
separate queue rather than requeueing them endlessly until the
database is writeable again.
* podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init),
(rb_podcast_manager_download_file_info_cb),
(missing_plugins_retry_cb), (missing_plugins_retry_cleanup),
(rb_podcast_manager_save_metadata), (download_progress_cb):
Add missing plugin handling for podcast downloads. When installation
is complete, retry the metadata load operation.
* backends/gstreamer/Makefile.am:
* backends/gstreamer/rb-player-gst-xfade.c:
(rb_player_gst_xfade_class_init), (emit_missing_plugins),
(rb_player_gst_xfade_handle_missing_plugin_message),
(rb_player_gst_xfade_bus_cb):
* backends/gstreamer/rb-player-gst.c: (rb_player_gst_class_init),
(rb_player_gst_handle_missing_plugin_message),
(rb_player_gst_bus_cb), (rb_player_gst_sync_pipeline),
(end_gstreamer_operation):
* shell/rb-shell-player.c: (rb_shell_player_class_init),
(rb_shell_player_init), (missing_plugins_retry_cb),
(missing_plugins_retry_cleanup), (missing_plugins_cb):
Add missing plugin handling for playback. When GStreamer complains
about missing plugins, stop playback, request installation, then retry
playback when it's done.
Fixes #338308.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]