Blacklisted bootreasons will not play a sound (e.g. "kernel_panic")
If boot has already completed, assume this is a runtime restart and
skip the sound.
Bug: 30654343
Change-Id: I41b1829a93c0d9a63c69aea2d1614eaa18b72230
Optional system property "persist.sys.bootanim.play_sound"
If nonexistent, default behavior plays the sound.
Bug: 30690353
Change-Id: Ie5ed456d891632be5ec8be255ac7c1193753c741
Do not use low latency playback mode to be more
robust against scheduling problems during boot phase.
Also:
- remove unused reverb on output mix
- fix WAV file parser.
Bug: 30277818
Change-Id: I1e15d3003a25c93d4995006885b32a754d17343f
* changes:
Fix include to match Skia filename change
Remove references to SkImageDecoder (part 2)
Update SkiaCanvasProxy with SkSurface API change
Return DNG mimeType for the case kDNG_SkEncodedFormat
Remove use of SkFixed. Update code to use SkGlyph.fAdvance[XY] after https://codereview.chromium.org/1737693006.
skia SkDocument - new MakePDF API, fix leak
As of this CL, SkImageDecoder is no longer used in Android and
will be deleted by Skia.
(cherry picked from commit 097a6ea4b65046df3e3cbf93d1acfc4e6833e02f)
Change-Id: Ic754ab0dde7ad1b65ccf3b2bc23fcbc5ef44ed08
audioplay is initialized with an example of the type of clip it
will play.
Also remove asserts and debug compile settings from BootAnimation.
BUG:24800792
Change-Id: Icb78489417aee0549c340c746b25e57ccdb3427e
glDeleteTextures causes a noticeable framerate hitch when switching to
the outro. By the time looping is finished, the system has finished
booting, so freeing the textures immediately is less beneficial.
Bug: 29878551
Bug: 30040263
Change-Id: I5a404a6e18cd2cf64d6c94343f82fa5db8dfbab3
If non power of two textures are supported, then use
npot texture for specifying the images supplied by vendor.
This will reduce the memory footprint of the app by a considerable
amount.
Bug: 28865582
Bug: 30040263
Change-Id: I5cef98fb013318d60d8a648041c9665da68c0ff3
Respects dnd settings for sound playback.
Basic implementation uses in-memory wavs as buffers.
audioplay::playClip should not be called before previous clip ends.
Updated FORMAT.md to reflect no more audio_conf.txt
Bug: 29055299
Change-Id: Ifc358d7c85f11b8b54ae6446c40643b87bc567f2
Each frame directory may optionally contain a `trim.txt` to specify
how the image was trimmed relative to the animation's full size.
See FORMAT.md for more details.
Bug: 29055299
Change-Id: I7a291e9a52b4bbe50a29c519f6a4d0e2cc0389d7
Add eglReleaseThread call in the threadLoop function to
ensure that the thread properly cleans up its resources
before exiting.
Change-Id: I90dff47370e7acaecc046c43f0bb274214a29f77
The RTC may not be set yet, may have been reset, or may have drifted
significantly if the device time hasn't been updated in a long time.
Using the the last_time_change file to determine if the time is known to
be accurate and only display the clock when that is the case.
Bug: 27802041
Change-Id: I845cf9c74fcb4009504f1bab853e04146fa19e1d
Animation package zip can be separated into OEM and SYSTEM
OEM desc.txt can use new command "$SYSTEM" to invoke animation
from SYSTEM package
Changes to animation structure:
1. animation can refer other animation
2. animation contains zip file reference
3. BootAnimation has name of root of animation Zip; processing desc.txt we
need filename of container zip and we can't access it from ZipFileRO instance
movie() changes:
1. Split movie() into loading Zip and playing part
2. load parses desc.txt and if needed referred Zip
3. play can descend animations tree
Change-Id: I600d02c84d537df7b3e32a84f84a294b26e319e0
Signed-off-by: Andriy Naborskyy <andriyn@google.com>
Don't draw on top of vendor specific animations/logos since we can't
make it look good.
Bug: 27209004
Change-Id: If4791b861ff476c23b37787ba896a3ef8d9df4fd
getEntryInfo crashes on 64-bit devices because "long" types
were being passed int pointers (that pointed to a stack frame)
that were reinterpret_cast'ed to long* (sigh.). To fix this issue
once and for all, use types with explicitly defined widths.
This change also removes some dead invariant checking from
Asset.cpp instead of cleaning it up.
Note that we've introduced a wart in NativeLibraryHelper, where
we need to deal with zlib's uLong type, which is "at least 32 bits
wide".
bug: 21622286
(cherry picked from commit 4600dd053dbdbd4b95f3b11057a1cc55b99f9c77)
Change-Id: I7886cb37a229cc27c625699c80e6a6a6117d2203
getEntryInfo crashes on 64-bit devices because "long" types
were being passed int pointers (that pointed to a stack frame)
that were reinterpret_cast'ed to long* (sigh.). To fix this issue
once and for all, use types with explicitly defined widths.
This change also removes some dead invariant checking from
Asset.cpp instead of cleaning it up.
Note that we've introduced a wart in NativeLibraryHelper, where
we need to deal with zlib's uLong type, which is "at least 32 bits
wide".
bug: 21622286
Change-Id: Iae675a9601db7aae03a8b80b40321d2cc1d97f50
Don't refer to classes as structs and view versa -- causes warnings in
clang (in code built with -Werror)
Change-Id: I4d7f461bcf6fe4e43a14ad2f28ee0e0ddea95abc
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
The bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip
For this to work, the bootanimation.zip must contain an audio_conf.txt file,
which contains parameters to be used for the tinyalsa pcm_open call
as well as mixer parameters to set before attempting to play the sound.
If the bootanimation finds an audio_conf.txt file, then it will look for a file named
"audio.wav" in each of the part subdirectories. If audio.wav is found, it will play that
WAV file starting at the beginning of that part.
The code for this is based on the tinyplay utility in tinyalsa.
The audio_conf.txt and must begin with the following header:
card=<ALSA card number>
device=<ALSA device number>
period_size=<period size>
period_count=<period count>
This header is followed by zero or more mixer settings, each with the format:
mixer "<name>" = <value list>
Since mixer names can contain spaces, the name must be enclosed in double quotes.
The values in the value list can be integers, booleans (represented by 0 or 1)
or strings for enum values.
Finally I should mention that this change is not the right approach.
Instead of going straight to ALSA we should be using the mediaserver instead.
But mediaserver isn't ready in time due to interactions with the system server, and there
isn't time to fix this for the current release. We need to fix that for the next one.
Bug: 17674304
Change-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9
Some OEMs want to have a bootanimation (or parts of it) displayed on a
color other than black. They currently just use full-screen frames for
that, which wastes lots of memory and bandwidth. This change allows
each part of the animation to specify a background color that will be
applied outside of the frame images; if unspecified the background
will be black as it is now.
Bug: 16635599
Change-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd