gst-player: add

gst-player is a convenience library for handling media playback in GStreamer.
It also has a sample application that can be used as a basic media player for
testing.

Patch in a file selector for use without a terminal and a desktop file so it
appears in the desktop.

(From OE-Core rev: 07e79c259dda660715fcdf802af66273209670ba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2015-02-26 17:59:00 +00:00 committed by Richard Purdie
parent 6d7cf8e9dd
commit f8b5481ba5
3 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,54 @@
Upstream-Status: Submitted
Signed-off-by: Ross Burton <ross.burton@intel.com>
From 43d4b19ab611d844156e26c4840cc54ddb73ae03 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Thu, 26 Feb 2015 17:17:05 +0000
Subject: [PATCH] gtk-play: show a file chooser if no URIs were passed
---
gtk/gtk-play.c | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
index f015077..9766a72 100644
--- a/gtk/gtk-play.c
+++ b/gtk/gtk-play.c
@@ -319,8 +319,32 @@ main (gint argc, gchar ** argv)
// FIXME: Add support for playlists and stuff
/* Parse the list of the file names we have to play. */
if (!file_names) {
- g_print ("Usage: %s FILE(s)|URI(s)\n", APP_NAME);
- return 1;
+ GtkWidget *chooser;
+ int res;
+
+ chooser = gtk_file_chooser_dialog_new ("Select files to play", NULL,
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ "_Cancel", GTK_RESPONSE_CANCEL,
+ "_Open", GTK_RESPONSE_ACCEPT,
+ NULL);
+ g_object_set (chooser,
+ "local-only", FALSE,
+ "select-multiple", TRUE,
+ NULL);
+
+ res = gtk_dialog_run (GTK_DIALOG (chooser));
+ if (res == GTK_RESPONSE_ACCEPT) {
+ GSList *l;
+
+ l = gtk_file_chooser_get_uris (GTK_FILE_CHOOSER (chooser));
+ while (l) {
+ play.uris = g_list_append (play.uris, l->data);
+ l = g_slist_delete_link (l, l);
+ }
+ } else {
+ return 0;
+ }
+ gtk_widget_destroy (chooser);
} else {
guint i;
--
1.7.10.4

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Media Player
Comment=Basic media plaer
Icon=audio-player
TryExec=gtk-play
Exec=gtk-play
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;AudioVideo;

View File

@ -0,0 +1,31 @@
SUMMARY="GStreamer playback helper library and examples"
LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gtk+3"
SRC_URI = "git://github.com/sdroege/gst-player.git \
file://filechooser.patch \
file://gst-player.desktop"
SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"
S = "${WORKDIR}/git"
inherit autotools gtk-doc lib_package pkgconfig
do_configure_prepend() {
touch ${S}/ChangeLog
}
EXTRA_OECONF += "ac_cv_path_VALGRIND=no ac_cv_path_GDB=no"
do_install_append() {
install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
}
FILES_${PN}-bin += "${datadir}/applications/*.desktop"
RDEPENDS_${PN}-bin = "gstreamer1.0-plugins-base-playback"
RRECOMMENDS_${PN}-bin = "gstreamer1.0-plugins-base-meta gstreamer1.0-plugins-good-meta gstreamer1.0-plugins-bad-meta gstreamer1.0-plugins-ugly-meta"