| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit b5ccf81c19a7e9ce9b330abe734f1bae76d50796.
That patch breaks "High Speed 60 FPS"
and it fails in CameraSource::checkFrameRate
which it compares the preview frame rate:
Failed to set preview frame rate to 30 fps. The actual frame rate is 60.
SAMBAR-1261
Change-Id: I6adf1432bf901e8ba37b1b86621e117e77cbf853
|
|
|
|
| |
Change-Id: I631ba6267b3769d9da498329a39ac89c609be6d8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit e41cc838b6212f8711c550522e8cefc95f003a67
Author: rINanDO <drjisakh@gmail.com>
Date: Mon Aug 10 13:56:56 2015 +0200
stagefright: Exynos4 MPEG4 decoder should set native color format.
Change-Id: I41bee77d48fc0b35691b94585de10269579ae789
commit a50263c53a1ecd0f75688f7042dd5e5d9badbc39
Author: Caio Schnepper <caioschnepper@gmail.com>
Date: Wed Jun 10 22:26:07 2015 -0300
libstagefright: back off exynos4_enhancements HWC_HWOVERLAY usage
The open source hwc doesn't support the
GRALLOC_USAGE_HW_FIMC1 | GRALLOC_USAGE_HWC_HWOVERLAY
combination. Removing HWC_HWOVERLAY allows FIMC1 to do
decode/color conversion.
Change-Id: Ibdfa9e5dd170e99e0d994540979e88e519931641
commit 63286a333bde1aa047de4e2fde8da1b59e42a16d
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: Sun Nov 3 02:45:19 2013 +0000
exynos4: libstragefright: add support for samsung colorformat/omx/mfc
Source:
http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h=exynos-jb&id=1614612f7ca2a00473d202dbedcb135fadc608ad
Conflicts:
media/libstagefright/ACodec.cpp
media/libstagefright/OMXCodec.cpp
cherry pick from 906eba9f
Change-Id: I1c174f8e9fa9bd3ed16a0399f070b6680f6a331c
Change-Id: I47f5b09b37ea5376a45c80c9dd91a7fbd0c3361a
|
|
|
|
|
|
|
| |
* Fix format specifiers for int64_t
* Fix format specifiers for size_t
Change-Id: I25a775ac3eda092e36fc231ec16698a1c4a66f8b
|
|
|
|
|
|
| |
* Fix format specifiers for int64_t
Change-Id: If3f05d0c8c1471ea0b3a97d90a5a774a5c168915
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add 2 APIs (suspend/resume) in MediaPlayer
- API:suspend() will just pause the player and release all the decoders
to replace release() which will release the whole player
- API:resume() will just init the decoders again,
then start() will be called to restart streaming playback
- Add a check in AwesomePlayer::onVideoEvent()
to make sure the first seek operation will always seek to the next
i-frame
Change-Id: Ie4c82906a2a056378119921a656128ebdc1007c4
audio: Add pause support for hardware omx component
- ADSP doesn't enter sleep state after wma playback is paused
and power suspended.
- No support for NT session pause in case of hardware component.
NT session need to be paused to put ADSP into power collapse.
- Add support of pause in stagefright to ensure device enters
suspend mode. Also add intermediate states to avoid concurrency
issues between read and pause.
Change-Id: I41b946b8c8805e6ee303646b63513b5b16514ef6
libstagefright: Drain input buffer on resume
- Buffers returned from codec in paused state are not drained. When
codec is resumed these buffers are not drained until the next flush,
and may cause timed out issue.
- Added change to drain input buffers for sw decoders when resuming.
Change-Id: Ida2ab1d5dc3a1910accdd6fb89548262a912d8e7
CRs-Fixed: 569585, 574967
libstagefright: camcorder pause-resume implementation
- Add pause resume feature in camcorder app. So that
user can pause recording and resume later which results
in a single recorded clip.
Change-Id: Id19c45ae5bb85265aa4d5304b160ebf119d9575a
libstagefright: support pause/resume for timelapse recording
Modify the timestamp calculation mechanism in CameraSourceTimeLapse
in order to support pause/resume.
Change-Id: Icb02ea798b0b807ffb7ada2d1ef5b2414b74edfb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the native color format 'OMX_SEC_COLOR_FormatNV21Linear' of
exynos5 which is NV21 and needed for the camera. You can turn it on
with:
BOARD_USE_SAMSUNG_COLORFORMAT_NV21 := true
It requires
const char CameraParameters::PIXEL_FORMAT_YUV420SP_NV21[] = "nv21";
to be specified in CameraExtraParameters.h.
Change-Id: I64ca86d074468b1e7a2958a73c3c0380e64a9fc0
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
|
|
|
|
|
|
|
|
| |
Camera may return NULL params if the remote object is dead.
Check for NULL and report error rather than crash.
Change-Id: Id1fcd04dc187aadf00ca4ec5e48fb495c3369c92
CRs-Fixed: 906099
|
|
|
|
|
|
|
|
|
|
| |
Add support for Codec extension features like
skype, vqzip, b-frame encoding, prefer adaptive playback etc.
Add extensions to support encode batching.
Also enable Werror for libavextensions.
Change-Id: Ia342d4abe4bb1e21b9ff2b8213fb96421485a333
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CameraSource (legacy Camera) treats framerate set via
MediaRecorder.setVideoFrameRate as _both_ camera-preview-fps
and video-encoder-fps. Trying to set high fps for encoder
will inadvertently fail trying to set the same value for
camera-preview.
Read the custom camera parameter to detect if this is a
high-speed request, selectively set the fps only for
video, and default to 30fps for preview fps.
Change-Id: If66211dd81b2a08d4df4c6f23e87304e9e7013f4
|
|
|
|
|
|
|
| |
also skip frame if timestamp is going backward, instead of crash.
bug: 23191439
Change-Id: I179157bf67bc972b8ebf852d80653daa6e496f1c
|
|
|
|
|
| |
Bug: 13222807
Change-Id: I854b73a63cf9239311729598241725d84e8513aa
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Support new set video format/dataspace command in camera service
- HALv3: Select gralloc usage flags based on format
- HALv1: Pass format command directly to HAL layer
- Use format/dataspace command in CameraSource
- Switch all API1 recording to use metadata mode
- Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer
Bug: 13222807
Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
|
|
|
|
| |
Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
|
|
|
|
|
|
| |
to use the new static version.
Change-Id: I89a5988a0ac694ffc04d88cf939e8455bf925d4c
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
lmp-dev automerge: 168799c
* commit 'c3ddddbd4ec1fe2c570a25925db6b396fb83badf':
release camera without holding CameraSource mutex
move audio sink open/close to NuPlayerRenderer
Fix freed memory references
audio policy: move intializations to onFirstRef()
Fix VideoFrame class layout for 64/32 bit
NuPlayer: wait for renderer flush before decoder shutdown
Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp
send available codec buffer count with codec notification
mediarecorder: set level if setting default profile
stagefright: move math templates into AUtils.h
NuPlayer: Fix flush mode decoder error handling
Revert "Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp"
GenericSource: support disconnect before NuCachedSource2 is created
mediaplayer: make frame-accurate avsync configurable
|
| |
| |
| |
| |
| | |
Bug: 17997578
Change-Id: Iba93848ad10ba84d2d836573da7ce242c761582f
|
|/
|
|
| |
Change-Id: I752d7d73f9c4939160a1ccaefc44ce1f8ffd9982
|
|
|
|
| |
Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
|
|
|
|
|
| |
Bug: 13027666
Change-Id: Iec8239bfcd293c8f466b3780e69883b97f387949
|
|
|
|
| |
Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
|
|
|
|
|
| |
Bug: 10312644
Change-Id: I19976188f0359bfd177209fb40145defdae9c740
|
|
|
|
| |
Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost
Stagefright:
- Pass on client name, UID to camera as needed
Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
|
|
|
|
| |
Change-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4
|
|
|
|
|
|
|
|
| |
supported
o related-to-bug: 6920805
Change-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This support is needed to enable efficient video recording with
emulator and camera HAL 2.
- Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode
extension.
- Allow CameraSource to handle opaque pixel formats, so that
MetaDataMode can be used.
- Remove hardware codec restriction for MetaDataMode
Bug: 6243944
Change-Id: I970eb3d55542a413b6d75a78f76d3a8583155601
|
|
|
|
|
|
|
|
| |
Applications are not resumed under the lock screen now.
This API is not needed anymore.
bug:5584464
Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MediaRecorder.setPreviewDisplay() is not required if applications
use MediaRecorder.setCamera(). Besides, this causes a problem when
apps use Camera.setPreviewTexture. Camera service thinks the
surface texture from Camera.setPreviewTexture and the surface from
MediaRecorder.setPreviewDisplay are different.
bug:5988937
Change-Id: Ia345705b6679ef349db6e354feaa3cc0fe8bcd8c
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose is to let face unlock always get the camera
successfully. What happened was the camera applications may
have opened the camera in onResume under the lock screen.
This API lets face unlock take the camera from the camera
application. A new permission will be added, so other
applicatoins won't be able to take the camera from the face
unlock.
bug:5584464
Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
|
|
|
|
| |
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
|
|
|
|
| |
Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
|
|
|
|
|
|
| |
classes
Change-Id: Ia74ffc1c0cbd7971697f5e3c476e340ec5c7727a
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156016
Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
|
|\
| |
| |
| |
| |
| |
| | |
recording" into ics-mr1
* commit 'd0a254566f5f0be5607b4d64839a575c888c94f6':
Fix log spamming during time lapse video recording
|
| |
| |
| |
| |
| |
| | |
Change-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f
related-to-bug: 5626569
|
|/
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/143865
Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
|
|
|
|
|
|
|
| |
the stop and release.
Change-Id: Ic79a60dad0f617a845211d3fbe146c1648a71da3
related-to-bug: 5205804
|
|
|
|
|
| |
Change-Id: Ia6038c1a3ca17207e43a955ec47c42cdff1f5a76
related-to-bug: 5129465
|
|
|
|
|
| |
bug:4460717
Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
|
|
|
|
|
|
| |
related-to-bug: 5050535,5036813,5051707
Change-Id: I88e10f65f087931e7f95ab26a018d59f7361103e
|
|
|
|
|
|
|
|
|
|
| |
Add support for TI H264 encoder and quirks for buffer allocation.
Temporary switching to baseline profile till ctts patch is defaulted
as per profile detection.
Change-Id: I1d56184b9c5d5f00d6c63aef7e058f3d56b84cef
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
| |
Change-Id: I2f7e4b8501db3d80b9aa6f99d896d778bec29e8c
|
|
|
|
|
|
| |
bug:4965716
Change-Id: Icb1f7f18e9ea6c4f0427ade2ed338e7d56be5e01
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.
Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.
ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()
ICameraRecordingProxyListener
dataCallbackTimestamp()
The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.
The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().
bug:2644213
Change-Id: I15269397defc25cbbcae16abc071c8349c123122
|
|
|
|
| |
Change-Id: I99e188f631df2257813aa7ec657d6ecfc8859d9e
|