History log of /frameworks/av/cmds/screenrecord/screenrecord.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c5bac3aa840a6a467ae63d097775c112cd611665 22-Mar-2016 Glenn Kasten <gkasten@google.com> Fix build warnings and make build warnings be errors

Test: screenrecord builds without warnings, both now and in future
Change-Id: Id8098c2be445715e0b4dd35e2b7aed0c7757d1fe
/frameworks/av/cmds/screenrecord/screenrecord.cpp
7e34bf5af26f8752d4786d3098740cdf51e2438f 22-Aug-2016 Wonsik Kim <wonsik@google.com> MediaCodec refactoring part 1-a: buffers become separate class

MediaCodecBuffer is meant to replace ABuffer and MediaBuffer in
communication between framework components. As the first step, replace
use of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related
classes accordingly.

MediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;
thus change MediaCodec clients to use MediaCodecBuffer accordingly.

Test: manually tested for key use cases (Camera, YouTube and Play Movies)
Change-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b
/frameworks/av/cmds/screenrecord/screenrecord.cpp
fb10012d05d3125b8a7763d22903028f033b4e6c 24-Aug-2016 Pablo Ceballos <pceballos@google.com> Merge "screenrecord: add monotonic timestamps option"
545bcd53c828cf5b57e9158feb2e24bf0cd77985 26-Jul-2016 Pablo Ceballos <pceballos@google.com> screenrecord: add monotonic timestamps option

Change-Id: Ic2cef7161c256f12e60434b32f455f40ebf3d7bf
/frameworks/av/cmds/screenrecord/screenrecord.cpp
c46b8ac3b572395119656da2276e6831713b2d70 20-Jul-2016 Marco Nelissen <marcone@google.com> screenrecord: fix race condition

When pressing ctrl-c immediately after starting screenrecord (after
setting the signal handler, but before gStopRequested is set to false)
the record loop would never exit.
Also delete the target file before recreating it, to avoid multiple
instances of screenrecord writing the same file.

Bug: 30247947
Change-Id: I374c125dac69e75638955680a2a5da81e3b22ffe
/frameworks/av/cmds/screenrecord/screenrecord.cpp
c6ac859f5a82ea8642bc6351a45508a15f224f32 08-Dec-2014 Marco Nelissen <marcone@google.com> Remove filename based writer constructors

MediaPlayerService can't open files (it needs an already opened
file descriptor), so these were just wasting space.

Change-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03
/frameworks/av/cmds/screenrecord/screenrecord.cpp
884989c67081190ff864419328e9e81506db67ca 19-Jun-2014 Mark Salyzyn <salyzyn@google.com> screenrecord: 64-bit compile warnings

Change-Id: I708e48e24719b2c4bb023069164aafd4c2ad639b
/frameworks/av/cmds/screenrecord/screenrecord.cpp
e32106fd5175afdf939ae397aece9caf378a4912 13-May-2014 Benoit Goby <benoit@android.com> screenrecord: Add raw frames output format

This works like the frames output format but without a header so that
the output can be piped directly to mplayer:

adb shell screenrecord --output-format=raw-frames - | mplayer -demuxer
rawvideo -rawvideo w=320:h=240:format=rgb24 -

Change-Id: Ib5ed508fdca3a5d63e973c5189b3677c2d92b43f
/frameworks/av/cmds/screenrecord/screenrecord.cpp
21bde57f0099fed5cca78d9357571dc015a63227 26-Feb-2014 Andy McFadden <fadden@android.com> Add frame dump output

This adds the ability to dump frames as RGB data with a minimal
frame header. Only recommended for devices with small displays.
Enable with "--output-format=frames".

The "--raw" option is now selected with "--output-format=h264".

Change-Id: I18d3d4a87cd056d7acf0658985a90dc5895dbfb6
/frameworks/av/cmds/screenrecord/screenrecord.cpp
2d11a2031b99db9b503a7ad7efd1f18606af4012 20-Dec-2013 Andy McFadden <fadden@android.com> Provide raw H.264 output from screenrecord

This adds an experimental (undocumented) "--raw" flag. If set, we
output an H.264 byte stream rather than a .mp4 file.

If the filename is "-", we send the output to stdout. If stdout is a
tty, we reconfigure it to avoid CRLF line termination over adb.

Change-Id: I5193f6193c9c1a59f92eefad0ed399f24afbf6de
/frameworks/av/cmds/screenrecord/screenrecord.cpp
96f2ead1ec99f6aaab876827a7c9985b039bf3c8 20-Nov-2013 Andy McFadden <fadden@android.com> Fix the help text

Pesky bloggers.

(cherry-pick from Ia8677b054423db292a34e28337431b57804df259)

Change-Id: Ia684fde52697ea78fca79de958ef8b31a50e68ba
/frameworks/av/cmds/screenrecord/screenrecord.cpp
0c98f99cb8207ff5b08e33da4b7e024312c5d9c9 19-Nov-2013 Andy McFadden <fadden@android.com> screenrecord fixes

Fixes to issues identified during code review.

(cherry-pick from I2203694acb5c0544878f64f4347d29ad1a0725c4)

Change-Id: I58fcb5264fc17b26fac4b03f95d35262e9e199e2
/frameworks/av/cmds/screenrecord/screenrecord.cpp
aaa3f358410701710e31f31de62f0b4521989661 18-Oct-2013 Andy McFadden <fadden@android.com> Add "--bugreport" option to screenrecord

The --bugreport option adds two visible features: (1) a timestamp
overlay that (mostly) matches logcat, making it easier to match what
appears in the video with what's in the log, and (2) an "info page"
at the start of the video that shows the system configuration.

Enabling this option adds an additional composition step,
increasing the overhead of screenrecord. Depending on the device
and circumstances, this may be unnoticeable or very pronounced.
If --bugreport is not enabled, the overhead of screenrecord is
unchanged.

We also now track device orientation changes. This is currently
detected by polling surfaceflinger, which is suboptimal. As a
result, we detect the rotation too late, and get a weird mixed
frame before the start of the animation for 90-degree changes.

Also, allow the bit rate to be specified as e.g. "4M" for 4Mbps.

Also, --rotate is now deprecated.

Bug 11220305
Bug 11136964

(cherry pick from Ibb94b81d2f73547b95d7a47e027da75fab187a4f)

Change-Id: I829a91aaca5ab82a07c14172d9e188ec38f14e57
/frameworks/av/cmds/screenrecord/screenrecord.cpp
253dfdb983611b8375c9e0b0483eda03fa146028 19-Sep-2013 Andy McFadden <fadden@android.com> Rotate fallback size

If configuring the encoder for display-size recording fails, we drop
back to 720p. This was done a bit too literally, and didn't look
good in portrait mode. Rotate the fallback size as needed.

Bug 10826876

Change-Id: Id3130471fc1467afa8bf91d75c9d4a49245253c3
/frameworks/av/cmds/screenrecord/screenrecord.cpp
e6d5794b2173ffe4e7509203a91778b19eafcebf 06-Sep-2013 Andreas Huber <andih@google.com> Make sure the encoder instance is safely release()'d before its

reference count drops to 0.

Change-Id: I6601226e2754f17e964125cacf02dc02cfbf6231
related-to-bug: 10150263
/frameworks/av/cmds/screenrecord/screenrecord.cpp
f74ccdb61627421bccfdbc479ffdc06ced717db4 05-Sep-2013 Andy McFadden <fadden@android.com> Start 'am' with exec()

We were using system() to run 'am broadcast'. Switch to
fork()+exec().

Bug 10606037

Change-Id: Ifae1a2b4f1914f015d09f2cac8cd0b1896d87a84
/frameworks/av/cmds/screenrecord/screenrecord.cpp
2c041c1c927fdbf60f53f1a1960e5155a79007b7 29-Aug-2013 Andy McFadden <fadden@android.com> Add time limit to screenrecord

Recordings are now limited to 3 minutes. The time can be set lower
with the --time-limit option.

Bug 10529645

Change-Id: I6ac19b9da8d616d38262414c2e821d56efcec55d
/frameworks/av/cmds/screenrecord/screenrecord.cpp
48326940f48390e79476e5ce7c2a18b8201cdafc 23-Aug-2013 Andy McFadden <fadden@android.com> Notify the media scanner

Use an "am broadcast" command to notify the media scanner that
a new video file is available.

Bug 10096103

Change-Id: I8261d81d96832969ebb9031a9766c1b1f2a569ed
/frameworks/av/cmds/screenrecord/screenrecord.cpp
99a2297e4f9746cd5efc3aa3731d17052f32e058 15-Aug-2013 Andy McFadden <fadden@android.com> Merge "Another error check" into klp-dev
69b5e38ca1af5696da1c00627d2e64f7db00d2e1 15-Aug-2013 Andy McFadden <fadden@android.com> Merge "Use destroyDisplay()" into klp-dev
a2081368e2068a86f2db9b0dd562d9e18f69ea37 15-Aug-2013 Andy McFadden <fadden@android.com> Another error check

Change-Id: I01ed5c0c7dcb520732d2856859bced31df5fbbb5
/frameworks/av/cmds/screenrecord/screenrecord.cpp
2533c83b4ed8e1ca5b259d59373f941c8f0e9635 14-Aug-2013 Andy McFadden <fadden@android.com> Use destroyDisplay()

Use the new SurfaceComposerClient::destroyDisplay call to shut the
virtual display down.

Change-Id: I0225a44594abf427d386456622b23b01fdd1690f
/frameworks/av/cmds/screenrecord/screenrecord.cpp
46052913f307b1561f1661bb776fa29c0775758c 13-Aug-2013 Andy McFadden <fadden@android.com> Better error message

Attempt to create the output file before handing it to MediaMuxer,
which doesn't report file-open failures in a useful way.

Change-Id: Ie24ff577dd50e185b4eb72575684d23a46f38d3d
/frameworks/av/cmds/screenrecord/screenrecord.cpp
f560001b5d60225dc7e101b2481477a3c39b66a4 02-Aug-2013 Andy McFadden <fadden@android.com> Use screen dimensions as default video size

Instead of 720p, use the screen dimensions as the default video
size. For example, a phone with a 768x1280 display would be
recorded as a 768x1280 video when in portrait, or a 1280x768
video when in landscape.

If the device is not able to record at that resolution, we
fall back to 720p.

Also, fixed a problem introduced by a buffer timestamp change.

Change-Id: I7230ddb323c669ab07327f26df8d103c192c21d3
/frameworks/av/cmds/screenrecord/screenrecord.cpp
1f5a90bc795475896044fcb1f74816c102851f06 22-Jul-2013 Andy McFadden <fadden@android.com> Prototype screen recording command

This records the screen contents as a movie. It works by feeding
the output of a virtual display to the video/avc encoder. Recording
continues until Ctrl-C is hit.

Video only, no sound. Does not track screen rotations.

Change-Id: I91d5c4e781792c740699b7a83590e846295b3617
/frameworks/av/cmds/screenrecord/screenrecord.cpp