Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: build/android/pylib/screenshot.py

Issue 1124763003: Update from https://crrev.com/327068 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: update nacl, buildtools, fix display_change_notifier_unittest Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import logging
5 import os 6 import os
6 import signal
7 import tempfile 7 import tempfile
8 import time
8 9
9 from pylib import cmd_helper 10 from pylib import cmd_helper
11 from pylib import device_signal
12 from pylib.device import device_errors
10 13
11 # TODO(jbudorick) Remove once telemetry gets switched over. 14 # TODO(jbudorick) Remove once telemetry gets switched over.
12 import pylib.android_commands 15 import pylib.android_commands
13 import pylib.device.device_utils 16 import pylib.device.device_utils
14 17
15 18
16 class VideoRecorder(object): 19 class VideoRecorder(object):
17 """Records a screen capture video from an Android Device (KitKat or newer). 20 """Records a screen capture video from an Android Device (KitKat or newer).
18 21
19 Args: 22 Args:
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 if self._is_started: 67 if self._is_started:
65 break 68 break
66 return self._is_started 69 return self._is_started
67 70
68 def Stop(self): 71 def Stop(self):
69 """Stop recording video.""" 72 """Stop recording video."""
70 os.remove(self._recorder_stdout) 73 os.remove(self._recorder_stdout)
71 self._is_started = False 74 self._is_started = False
72 if not self._recorder: 75 if not self._recorder:
73 return 76 return
74 self._device.KillAll('screenrecord', signum=signal.SIGINT) 77 if not self._device.KillAll('screenrecord', signum=device_signal.SIGINT,
78 quiet=True):
79 logging.warning('Nothing to kill: screenrecord was not running')
75 self._recorder.wait() 80 self._recorder.wait()
76 81
77 def Pull(self, host_file=None): 82 def Pull(self, host_file=None):
78 """Pull resulting video file from the device. 83 """Pull resulting video file from the device.
79 84
80 Args: 85 Args:
81 host_file: Path to the video file to store on the host. 86 host_file: Path to the video file to store on the host.
82 Returns: 87 Returns:
83 Output video file name on the host. 88 Output video file name on the host.
84 """ 89 """
85 host_file_name = host_file or ('screen-recording-%s.mp4' % 90 # TODO(jbudorick): Merge filename generation with the logic for doing so in
86 self._device.old_interface.GetTimestamp()) 91 # DeviceUtils.
92 host_file_name = (
93 host_file
94 or 'screen-recording-%s.mp4' % time.strftime('%Y%m%dT%H%M%S',
95 time.localtime()))
87 host_file_name = os.path.abspath(host_file_name) 96 host_file_name = os.path.abspath(host_file_name)
88 self._device.old_interface.EnsureHostDirectory(host_file_name)
89 self._device.PullFile(self._device_file, host_file_name) 97 self._device.PullFile(self._device_file, host_file_name)
90 self._device.RunShellCommand('rm -f "%s"' % self._device_file) 98 self._device.RunShellCommand('rm -f "%s"' % self._device_file)
91 return host_file_name 99 return host_file_name
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698