From c6c05391136d1282d0342df196aa77d149e389cd Mon Sep 17 00:00:00 2001 From: hyades Date: Wed, 4 Sep 2013 02:36:06 +0530 Subject: [PATCH] add ffmpeg to dependencies, lint and docs for server.py --- .travis-setup.sh | 2 +- python-api/gstswitch/server.py | 36 ++++++++++++++++++++++++++-------- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/.travis-setup.sh b/.travis-setup.sh index 187d396..fd45f52 100755 --- a/.travis-setup.sh +++ b/.travis-setup.sh @@ -5,7 +5,7 @@ echo 'yes' | sudo add-apt-repository ppa:gstreamer-developers/ppa sudo apt-get update sudo apt-get install libglib2.0-dev gir1.2-glib-2.0 libgirepository1.0-dev libglib2.0-0 sudo apt-get install python-gi python3-gi gstreamer1.0-tools gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gstreamer1.0-libav -sudo apt-get install python-scipy +sudo apt-get install python-scipy ffmpeg sudo apt-get build-dep gstreamer1.0 sudo apt-get install autoconf automake autopoint libbz2-dev libdv4-dev libfaac-dev libfaad-dev libgtk-3-dev libmjpegtools-dev libtag1-dev libasound2-dev libtool libvpx-dev libxv-dev libx11-dev libogg-dev libvorbis-dev libopencv-dev libcv-dev libhighgui-dev libv4l-dev pkg-config zlib1g-dev gtk-doc-tools yasm bison flex mkdir -p /usr/lib/pkgconfig diff --git a/python-api/gstswitch/server.py b/python-api/gstswitch/server.py index cc33154..2e778d1 100644 --- a/python-api/gstswitch/server.py +++ b/python-api/gstswitch/server.py @@ -1,9 +1,14 @@ +""" +The server deals with all operations controlling gst-switch-srv +These include all OS related tasks +""" + import os import signal import subprocess from errno import ENOENT -from exception import PathError, ServerProcessError +from .exception import PathError, ServerProcessError from time import sleep @@ -33,6 +38,14 @@ def __init__( record_file='record.data'): super(Server, self).__init__() + + self._path = None + self._video_port = None + self._audio_port = None + self._control_port = None + self._record_file = None + self.gst_option_string = None + self.path = path self.video_port = video_port self.audio_port = audio_port @@ -44,6 +57,7 @@ def __init__( @property def path(self): + """Get the path""" return self._path @path.setter @@ -58,6 +72,7 @@ def path(self, path): @property def video_port(self): + """Get the video port""" return self._video_port @video_port.setter @@ -83,6 +98,7 @@ def video_port(self, video_port): @property def audio_port(self): + """Get the audio port""" return self._audio_port @audio_port.setter @@ -108,6 +124,7 @@ def audio_port(self, audio_port): @property def control_port(self): + """Get the control port""" return self._control_port @control_port.setter @@ -133,6 +150,7 @@ def control_port(self, control_port): @property def record_file(self): + """Get the record file""" return self._record_file @record_file.setter @@ -168,7 +186,6 @@ def run(self, gst_option=''): self.proc = self._run_process() if self.proc: self.pid = self.proc.pid - # TODO: Sleep time may vary sleep(self.SLEEP_TIME) def _run_process(self): @@ -214,17 +231,20 @@ def _start_process(self, cmd): raise ServerProcessError("Internal error " "while launching process") - - def make_coverage(self): + @classmethod + def make_coverage(cls): + """Generate coverage + Calls 'make coverage' to generate coverage in .gcov files + """ cmd = 'make -C {0} coverage'.format(TOOLS_DIR) print TOOLS_DIR with open(os.devnull, 'w'): - proc = subprocess.Popen( + proc = subprocess.Popen( cmd.split(), bufsize=-1, shell=False) - out, err = proc.communicate() - print out + out, _ = proc.communicate() + print out def terminate(self, cov=False): @@ -268,7 +288,7 @@ def kill(self, cov=False): try: if cov: self.gcov_flush() - self.make_coverage + self.make_coverage() os.kill(self.pid, signal.SIGKILL) self.proc = None return True