Bug#762579: gstreamer1.0-vaapi: Does not work at all (with totem)

Víctor M. Jáquez L. vjaquez at igalia.com
Wed Apr 8 12:25:48 UTC 2015


On Tue, 2014-09-23 at 12:50 +0200, Julian Andres Klode wrote:
> Package: gstreamer1.0-vaapi
> Version: 0.5.9-2
> Severity: important
>
> Trying to play back a simple MP4 movie with H.264 video and AAC audio,
> does not work at all. Only displays an error.

I found that running

$ gst-launch-1.0 playbin uri=file://<location of the file> video-sink=cluttersink audio-filter=scaletempo flags=0x17

which is the pipeline handled by totem[1] but with no de-interlace and no
color balance by software, it works fairly OK.

Sadly, it is not straightforward to set this flags in totem.

I cooked a hackish patch for this use-case, which modifies the playbin
(gst-plugins-base1.0 source package), enabling the flags setting through the
environment variable GST_PLAYBIN_FLAGS

Then you could run the

$ GST_PLAYBIN_FLAG=0x17 totem <location of the file>

vmjl

1. https://wiki.gnome.org/Apps/Videos/BugReporting
-------------- next part --------------
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -3786,8 +3786,23 @@ no_chain:
 gboolean
 gst_play_sink_set_flags (GstPlaySink * playsink, GstPlayFlags flags)
 {
+  const gchar *env;
+
   g_return_val_if_fail (GST_IS_PLAY_SINK (playsink), FALSE);
 
+  env = g_getenv ("GST_PLAYBIN_FLAGS");
+  if (env) {
+    gulong newflags;
+    int olderrno;
+
+    olderrno = errno;
+    errno = 0;
+    newflags = strtoul (env, NULL, 0);
+    if (errno == 0 && newflags <= ((1 << 12) - 1))
+      flags = (GstPlayFlags) newflags;
+    errno = olderrno;
+  }
+
   GST_OBJECT_LOCK (playsink);
   playsink->flags = flags;
   GST_OBJECT_UNLOCK (playsink);


More information about the pkg-gstreamer-maintainers mailing list