Chromium Code Reviews| Index: build/android/pylib/screenshot.py |
| diff --git a/build/android/pylib/screenshot.py b/build/android/pylib/screenshot.py |
| index 65274aeffb160fa41379ab742e5f6df78b176ca9..1e4ea84735f0f4157f5d41a4e30a29dfeaffd616 100644 |
| --- a/build/android/pylib/screenshot.py |
| +++ b/build/android/pylib/screenshot.py |
| @@ -3,6 +3,7 @@ |
| # found in the LICENSE file. |
| import os |
| +import tempfile |
| import time |
| import android_commands |
| @@ -56,11 +57,13 @@ class VideoRecorder(object): |
| self._host_file = os.path.abspath(self._host_file) |
| self._recorder = None |
| self._recorder_pids = None |
| + self._recorder_stdout = None |
| + self._is_started = False |
| self._args = ['adb'] |
| if self._adb.GetDevice(): |
| self._args += ['-s', self._adb.GetDevice()] |
| - self._args += ['shell', 'screenrecord'] |
| + self._args += ['shell', 'screenrecord', '--verbose'] |
|
Sami
2013/12/09 15:27:09
Mind adding a keyword argument for this? The stand
tonyg
2013/12/09 16:47:12
Maybe I'm missing your point, but just to be clear
Sami
2013/12/09 17:14:30
Ack, sorry, I only tried half of your patch to see
|
| self._args += ['--bit-rate', str(megabits_per_second * 1000 * 1000)] |
| if size: |
| self._args += ['--size', '%dx%d' % size] |
| @@ -71,14 +74,25 @@ class VideoRecorder(object): |
| def Start(self): |
| """Start recording video.""" |
| _EnsureHostDirectory(self._host_file) |
| - self._recorder = cmd_helper.Popen(self._args) |
| + self._recorder_stdout = tempfile.mkstemp()[1] |
|
Sami
2013/12/09 15:27:09
Please remove this file when we're done with it.
tonyg
2013/12/09 16:47:12
Done.
|
| + self._recorder = cmd_helper.Popen( |
| + self._args, stdout=open(self._recorder_stdout, 'w')) |
| self._recorder_pids = self._adb.ExtractPid('screenrecord') |
| if not self._recorder_pids: |
| 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).readlines(): |
|
Sami
2013/12/09 15:27:09
Nit: no need for .readlines().
tonyg
2013/12/09 16:47:12
Mind=>blown :) I had no idea that worked.
|
| + self._is_started = line.startswith('Content area is ') |
| + if self._is_started: |
| + break |
| + return self._is_started |
| + |
| def Stop(self): |
| """Stop recording video.""" |
| + self._is_started = False |
| if not self._recorder or not self._recorder_pids: |
| return |
| self._adb.RunShellCommand('kill -SIGINT ' + ' '.join(self._recorder_pids)) |