The native_window_set_crop() is called when port reconfig event callback comes from decoder's and
crop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values.
Since the default crop params are same as port reconfig crop params, the native_window_set_crop()
is not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight).
By calling native_window_set_crop() during initilaization of output port of decoder ensures
in setting up ANative window to crop region.
Change-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688
Signed-off-by: Lakshman Gowda <lakshman79@ti.com>
Return BAD_VALUE error upon detection of wrongly formatted files.
The client should abort the initialization upon error detection.
The current CHECK() interrupts the configurecodec() preventing a graceful
exit.
Change-Id: Ic79313fa76a63284897df5d91635de87d06f3100
Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
This partially reverts commit e47e8520fa48bd014287eda94ea39927de73d6bc.
(the other part of that change was already removed as part of a different
change)
Change-Id: Ica7c196ab1f74f96237e64d07580832f0d50022f
Apparently the payload for an h.264 track in an .mkv file can contain multiple
NAL fragments, we used to discard everything after the first one before, now
we preserve them all.
Change-Id: Ic7187365309f3880a3256982879a45df50db697d
related-to-bug: 5337218
When a IRemoteControlClient dies, that client is set to null
in the stack of remote control entries (mRCStack). This is done
by calling registerRemoteControlClient() with a null client.
The bug is that registerRemoteControlClient(), after storing
the new client, uses it to let it know what the current
remote control display is. When that display is non null, the
client is sent the current display. So when a client died
when there was a display, the client reference was accessed
in the part of the method where we haven't yet checked whether
it is null or not.
The fix consists in moving the setting of the display on the
client (method plugRemoteControlDisplay) only after having
checked that the client is non-null.
Change-Id: Ic74d6cba9e3a3a16e78cd80a1ae5901abfeb3905
When decoding a file for the SoundPool, do not
reject the entire file in case of error but
return what was decoded so far instead.
Change-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd
Fixed several regressions in automated audio effect tests due
to changes in effect framework and visualizer FFT output range.
- Do not suspend Volume effect on session 0 when effects are
enabled on specific sessions.
- Adapt energy detection thresholds to new visualizer FFT range.
- Leave more time for BassBoost and Virtualizer effects to ramp up
before measuring the effect.
- Removed second insert reverb left by mistake on the player session
in preset reverb test.
Change-Id: I7a1ad1372d783fa7900eb9dd1d3b47f54d8d766f
In SurfaceMediaSource::read, if disconnect has already been called, then
ERROR_END_OF_STREAM should be returned rather that NO_INIT. Else, it
sometimes leads to a crash in mediarecorder stop() call.
Related to FactoryROM bug: 5332812
Change-Id: I22132538ab2501d084e0283876817b1ec3f64a1d
We need to hold a wakelock while playing the keyguard lock sound,
so that it actually completes before the CPU goes to sleep.
Change-Id: I144c345383afeb911ea461b2eb17b31183b6d092
Store the time at which a RemoteControlClient changes it playback
state, and send that time to the IRemoteControlDisplay.
This change will enable displays to implement strategies such as
timeouts (e.g. to not display transport controls for clients which have
been paused or stopped for a certain amount of time).
Change-Id: I902882500565743d455d56f6000efaf612cbe0a9