Installation and Changes in Structure

June 23, 2013 - 3 minute read -
install gstreamer python

Installation

Installation of the gst-switch from master branch works good. However I am unable to install gst-switch for the speaker-track branch.

I am running Quantal and had gstreamer-1.0 installed along with all the plugins (good, bad, ugly) installed through the ubuntu repository. The version of gstreamer was 1.0.6. However, gst-switch requires the latest development version-1.1.1 to be installed.

Also I would mention that installing the speakertrack branch of gst-switch does not work out correctly. Firstly the gstreamer plugins were not installed correctly. Also, I did not find the file gst-switch-cap in ~/gst/stage/bin indicating that the installation process actually installed the master branch instead of installing the speakertrack branch.
I have installed all the git packages of gstreamer and its plugin from duzy repo at https://github.com/duzy. I installed the following packages:

Installing the gst-plugins-bad gives errors. First I try installing from the master branch. I encountered this error while doing make:

		make[4]: Entering directory `/home/hyades/Github/test/duzy/gst-plugins-bad/gst-libs/gst/basecamerabinsrc'
		  CC     libgstbasecamerabinsrc_1.0_la-gstcamerabinpreview.lo
		In file included from gstcamerabinpreview.c:31:0:
		../../../gst-libs/gst/glib-compat-private.h:84:30: error: unknown type name 'GStaticRecMutex'
		make[4]: *** [libgstbasecamerabinsrc_1.0_la-gstcamerabinpreview.lo] Error 1
		make[4]: Leaving directory `/home/hyades/Github/test/duzy/gst-plugins-bad/gst-libs/gst/basecamerabinsrc'
	
Didn't work out well. So I did a checkout to the speakertrack branch, ran the ./autogen. So I get this now:
		libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
		+ running aclocal -I m4 -I common/m4 ...
		+ running autoheader ...
		+ running autoconf ...
		configure.ac:204: error: possibly undefined macro: AG_GST_CHECK_GST_PLUGINS_LIBAV
		      If this token and others are legitimate, please use m4_pattern_allow.
		      See the Autoconf documentation.

		autoconf failed
	
I also tried out the speakertrack_new branch, ran the ./autogen and then did make. This time I get this:
		make[3]: Entering directory `/home/hyades/Github/test/duzy/gst-plugins-bad/gst/dvbsuboverlay'
		  CC     libgstdvbsuboverlay_la-gstdvbsuboverlay.lo
		gstdvbsuboverlay.c:71:43: error: expected '}' before 'GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS'
		gstdvbsuboverlay.c:78:1: error: expected '}' before 'GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS'
		make[3]: *** [libgstdvbsuboverlay_la-gstdvbsuboverlay.lo] Error 1
		make[3]: Leaving directory `/home/hyades/Github/test/duzy/gst-plugins-bad/gst/dvbsuboverlay'
	

Code Improvements

I have tried to bring some new improvements to the code. I have made a new structure for the server class so that it is extensible. Now, the main Server class is derived from three classes:

  1. BaseServer : Handles the various properties of the Server.
  2. ServerProcess : Handles all processes created by the Server. These include both controlling the server process as well as the various test sources which can be created to test the server.
  3. ServerDBusController : Handles all interactions of the Server with the DBus

I have added two files:

  1. connection.py : This file will have classes which will take care of the various connections which have to be made with the gst-switch-srv over dbus.
  2. dbus.py : This file will have classes which will help in interaction with the remote objects present on the gst-switch-srv. This will be utilizing the methods defined in connection.py.

Comments Section

Feel free to comment on the post but keep it clean and on topic.

blog comments powered by Disqus