| Index: build/android/pylib/screenshot.py
|
| diff --git a/build/android/pylib/screenshot.py b/build/android/pylib/screenshot.py
|
| deleted file mode 100644
|
| index b3d17e2e00afefc6f25acf6bdfb0ec2a3a285e87..0000000000000000000000000000000000000000
|
| --- a/build/android/pylib/screenshot.py
|
| +++ /dev/null
|
| @@ -1,91 +0,0 @@
|
| -# Copyright 2013 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -import logging
|
| -import os
|
| -import tempfile
|
| -import time
|
| -
|
| -from devil.android import device_signal
|
| -from devil.utils import cmd_helper
|
| -
|
| -
|
| -class VideoRecorder(object):
|
| - """Records a screen capture video from an Android Device (KitKat or newer).
|
| -
|
| - Args:
|
| - device: DeviceUtils instance.
|
| - host_file: Path to the video file to store on the host.
|
| - megabits_per_second: Video bitrate in megabits per second. Allowed range
|
| - from 0.1 to 100 mbps.
|
| - size: Video frame size tuple (width, height) or None to use the device
|
| - default.
|
| - rotate: If True, the video will be rotated 90 degrees.
|
| - """
|
| - def __init__(self, device, megabits_per_second=4, size=None,
|
| - rotate=False):
|
| - self._device = device
|
| - self._device_file = (
|
| - '%s/screen-recording.mp4' % device.GetExternalStoragePath())
|
| - self._recorder = None
|
| - self._recorder_stdout = None
|
| - self._is_started = False
|
| -
|
| - self._args = ['adb']
|
| - if str(self._device):
|
| - self._args += ['-s', str(self._device)]
|
| - self._args += ['shell', 'screenrecord', '--verbose']
|
| - self._args += ['--bit-rate', str(megabits_per_second * 1000 * 1000)]
|
| - if size:
|
| - self._args += ['--size', '%dx%d' % size]
|
| - if rotate:
|
| - self._args += ['--rotate']
|
| - self._args += [self._device_file]
|
| -
|
| - def Start(self):
|
| - """Start recording video."""
|
| - self._recorder_stdout = tempfile.mkstemp()[1]
|
| - self._recorder = cmd_helper.Popen(
|
| - self._args, stdout=open(self._recorder_stdout, 'w'))
|
| - if not self._device.GetPids('screenrecord'):
|
| - raise RuntimeError('Recording failed. Is your device running Android '
|
| - 'KitKat or later?')
|
| -
|
| - def IsStarted(self):
|
| - if not self._is_started:
|
| - for line in open(self._recorder_stdout):
|
| - self._is_started = line.startswith('Content area is ')
|
| - if self._is_started:
|
| - break
|
| - return self._is_started
|
| -
|
| - def Stop(self):
|
| - """Stop recording video."""
|
| - os.remove(self._recorder_stdout)
|
| - self._is_started = False
|
| - if not self._recorder:
|
| - return
|
| - if not self._device.KillAll('screenrecord', signum=device_signal.SIGINT,
|
| - quiet=True):
|
| - logging.warning('Nothing to kill: screenrecord was not running')
|
| - self._recorder.wait()
|
| -
|
| - def Pull(self, host_file=None):
|
| - """Pull resulting video file from the device.
|
| -
|
| - Args:
|
| - host_file: Path to the video file to store on the host.
|
| - Returns:
|
| - Output video file name on the host.
|
| - """
|
| - # TODO(jbudorick): Merge filename generation with the logic for doing so in
|
| - # DeviceUtils.
|
| - host_file_name = (
|
| - host_file
|
| - or 'screen-recording-%s.mp4' % time.strftime('%Y%m%dT%H%M%S',
|
| - time.localtime()))
|
| - host_file_name = os.path.abspath(host_file_name)
|
| - self._device.PullFile(self._device_file, host_file_name)
|
| - self._device.RunShellCommand('rm -f "%s"' % self._device_file)
|
| - return host_file_name
|
|
|