View genivi_env.sh
#!/bin/bash -i
PREFIX=~/devel/okdaccord
GENIVI_PREFIX=$PREFIX
LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/lib64
DYLD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/lib64
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/pkgconfig:$PREFIX/lib64/pkgconfig/
PATH=$PREFIX/bin:$PATH
GI_TYPELIB_PATH=$PREFIX/share/gir-1.0:$GI_TYPELIB_PATH
View configuration.xml
<?xml version="1.0" encoding="UTF-8"?>
<c:configuration xmlns:c="controller" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="controller audiomanagertypes.xsd ">
<listSources>
<source>
<domainName>GStreamer</domainName>
<name>GstTestSourceWhiteNoise</name>
<className>TEST</className>
<registrationType>REG_ROUTER</registrationType>
</source>
<source>
View gist:32a6ed345fef2d83ff35e24b573293e2
 meh  ⓔ  venv   fredo  ⋯  apertis  sources  traprain  pip freeze
clang==3.7.dev234765
dbus-deviation==0.5.0
hotdoc==0.8.1
hotdoc-c-extension==0.8
hotdoc-dbus-extension==0.8
lxml==3.6.4
pkgconfig==1.1.0
pygraphviz==1.3.1
PyYAML==3.12
View gist:58048c67fb222924adecf994135d7f9c
 meh  ⓔ  venv   fredo  ⋯  apertis  sources  traprain  pip freeze
clang==3.7.dev234765
dbus-deviation==0.5.0
hotdoc==0.8.1
hotdoc-c-extension==0.8
hotdoc-dbus-extension==0.8
lxml==3.6.4
pkgconfig==1.1.0
pygraphviz==1.3.1
PyYAML==3.12
View schema_validator.py
from functools import wraps
from schema import Schema
def function_validator(*pos_args, args_schema=None, kwargs_schema=None):
args_schema = args_schema or Schema([])
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
new_args = []
View adder deadlock stacktrace
(gdb) bt
#0 __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00000031fd009cc1 in _L_lock_885 () from /lib64/libpthread.so.0
#2 0x00000031fd009bda in __GI___pthread_mutex_lock (mutex=0x28a0d80) at pthread_mutex_lock.c:85
#3 0x00007fffd75f8c31 in gst_adder_sink_event (pads=0xc75cd0 [GstCollectPads], pad=0x2e02630, event=0x2f8e920, user_data=<optimized out>) at gstadder.c:837
#4 0x00007fffee0ba372 in gst_collect_pads_event (pad=<optimized out>, parent=<optimized out>, event=0x2f8e920) at gstcollectpads.c:1815
#5 0x00007fffef3b1d4a in gst_pad_send_event_unchecked (pad=pad@entry=0x7fffa8024fd0 [GstAdderPad], event=event@entry=0x2f8e920, type=type@entry=320) at gstpad.c:4983
#6 0x00007fffef3b240c in gst_pad_push_event_unchecked (pad=pad@entry=0x2df2c40 [GstGhostPad], event=event@entry=0x2f8e920, type=320, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:4679
#7 0x00007fffef3bb46e in gst_pad_push_event (pad=pad@entry=0x2df2c40 [GstGhostPad], event=0x2f8e920) at
View mixit.py
from gi.repository import GstPbutils
from gi.repository import Gtk
from gi.repository import Gst
from gi.repository import GES
from gi.repository import GObject
import sys
import signal
def handle_sigint(sig, frame):
View GESController
+------------+
| Controller |
+------------+
+---------+
| Summary |
+---------+
1. First thoughts
2. Problems
View GESController design
tlobject = ges.TimelineFileSource("mon/super/film/porno/")
effect = ges.Effect("mon/super/kaleidoscope")
video_track_object = tlobject.get_video_track_object() <-- Cette helper function pourrait etre sympa
video_track_object.set_effect("mon/super/kaleidoscope")
controller = ges.Controller(effect)