/usr/share/pyshared/insanity/tests/simple_encoder.py is in python-insanity 0.0+git20110920.4750a8e8-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | # GStreamer QA system
#
# tests/simple-encoder.py
#
# Copyright (c) 2007, Edward Hervey <bilboed@bilboed.com>
# Copyright (c) 2008 Nokia Corporation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
"""
Simple encoder test
"""
from insanity.test import GStreamerTest
import gst
class SimpleEncoderTest(GStreamerTest):
__test_name__ = "simple-encoder-test"
__test_description__ = """Test encoding for video"""
__test_arguments__ = {
"codec" : ("Codec to use",
"theora",
None),
"num-buffers": ( "Numbfer of buffers to use",
100,
None),
"bitrate": ( "The bitrate of the resulting video",
800,
None)
# TODO: add frame-size configuration
}
__test_output_files__ = {
"video-enc":"Output file"
}
# mandatory
@classmethod
def get_file(self):
import os.path
return os.path.abspath(__file__)
def remoteSetUp(self):
self._codec = self.arguments.get("codec", "theora")
self._num_buffers = self.arguments.get("num-buffers", 100)
self._bitrate = self.arguments.get("bitrate", 800)
self._out_file = self._outputfiles["video-enc"]
# self._out_file = None
GStreamerTest.remoteSetUp(self)
def createPipeline(self):
p = gst.Pipeline()
base = self._codec
src = gst.element_factory_make("videotestsrc")
src.props.num_buffers = self._num_buffers
enc = gst.element_factory_make(base + "enc")
enc.props.bitrate = self._bitrate
if self._out_file:
try:
mux = gst.element_factory_make("matroskamux")
sink = gst.element_factory_make("filesink")
except gst.ElementNotFoundError:
self._out_file = None
else:
sink.props.location = self._out_file
p.add(src, enc, mux, sink)
gst.element_link_many(src, enc, mux, sink)
if not self._out_file:
mux = None
sink = gst.element_factory_make("fakesink")
p.add(src, enc, sink)
gst.element_link_many(src, enc, sink)
return p
def pipelineReachedInitialState(self):
return False
|