21 Commits

Author SHA1 Message Date
Jamie Gennis
ff2dc46c12 Add camera service support for SurfaceTexture.
This change enables the use of a SurfaceTexture in place of a Surface as
the destination of camera preview frames.

Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
2011-01-06 13:31:53 -08:00
James Dong
74920cb1a8 We requires camera hal's implementation should not track the ref count of any outstanding video frames and ignore
releaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Change-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c
2010-12-10 07:19:13 -08:00
Mathias Agopian
d211230633 remove support for PUSH_BUFFER surfaces and overlays
the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.

Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
2010-12-08 16:13:59 -08:00
James Dong
2db9044563 Don't drop video frames but to release them.
bug - 3259009

Change-Id: Ib7634f10a7fe7b7ce7014b79b07957d194bae1a7
2010-12-06 19:53:01 -08:00
Eric Laurent
214835773f Revert "Temporary workaround for issue 3187563"
This reverts commit 065299b58d1c00cd24e442fa192561decf7b1fec.

The work around for issue 3187563 is not needed any more since the new kernel
DMA driver implementation (commit 7953250be7c9a1c3417e21b20032b571d495d218)
fixes the root cause.

Change-Id: Ibaac2826b63c8e5825ae2e5cab2fb2f0e51ab7b4
2010-11-24 13:35:31 -08:00
Eric Laurent
065299b58d Temporary workaround for issue 3187563
The audio HAL does not always handle properly simultaneous input and output stream
state changes. This happens in particular when starting video record because output
stream starts and stops while input is active.

Temporary disable the video record jingle the time the audio HAL issues are solved.

Change-Id: I3b923d81af543a335deae9e22d7f396bb5791d91
2010-11-11 16:47:38 -08:00
Wu-cheng Li
d55f7e56b9 Mirror the camera preview if the camera is front-facing.
bug:3095272
Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
2010-10-25 15:02:44 +08:00
James Dong
38311859e8 Camera framework change required for 0-memcpy recording
bug - 3042125

Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
2010-10-19 23:07:08 -07:00
Wu-cheng Li
b0f7d95bf8 Fix camera display orientation.
bug:3036262
Change-Id: I6fc3dc381fcfaceba09fd5bd14afb85045b3d676
2010-10-12 15:52:44 +08:00
Wu-cheng Li
de8652cbc1 resolved conflicts for merge of 191a25e1 to master
Change-Id: I6f4940e337a992bf84e50bc1d22432593937499c
2010-09-27 20:50:22 -07:00
Wu-cheng Li
b3347bc6d7 The old overlay should be destroyed if orientation changes.
Previously the orientation was wrong after suspend and resume.
When the camera app is resumed behide the lock screen, it
orinteation is portrait. When users slide to unlock the screen,
surfaceChanged is called and the orientation is landscape.
The camera app stops the preview, sets the display orientation,
and starts the preview. Overlay should be destroyed if the
orientation has changed.

bug:3031640
Change-Id: I38b527f9ea78c91b538463292152c023383b4695
2010-09-27 11:49:56 -07:00
Nipun Kwatra
4e94c30ed5 Added command type to play recording sound.
Added CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording
sound through sendCommand. This is currently needed by time lapse
recording using still mode capture, which disables the shutter sound
but needs to play the recording sound.

Change-Id: I376aa40f45b6064fd862abc065456b06fc338020
2010-09-14 16:49:08 -07:00
Nipun Kwatra
088146a421 Adding enable/disable option for sendCommand()
- Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to
  command type for enabling/disabling shutter sound.
- The implementation checks if it is legal to disable shutter sound.
  If it is, then any process can disable the sound. If not, then only
  the mediaserver process is allowed to do this. Currently time lapse
  capture needs this functionality to disable shutter sound when still
  mode is used to capture time lapse video.

Change-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19
2010-09-14 13:57:59 -07:00
Wu-cheng Li
d02c812a21 Only enable CAMERA_MSG_PREVIEW_FRAME when necessary.
Now camera driver uses ANativeWindow for display.
CameraService should not request preview callback from
camera hardware if applications have not requested it.

bug:2951018
Change-Id: I85f74ea4a61104feca018867bc9d6dfe3a9479f5
2010-09-09 16:23:35 -07:00
Wu-cheng Li
8d7a59c362 Remove setPreviewDisplay in CameraService::Client::~Client().
mSurface is released in destructor and setPreviewWindow(0) is
called in Client::disconnect(). setPreviewDisplay is not needed
in destructor.

bug:2964479
Change-Id: I329901659a2af407816c34e02f37143b28183a89
2010-08-31 17:18:38 -07:00
Jamie Gennis
c8536d1952 Add the setPreviewWindow camera HAL API to the camera stub.
Change-Id: Ic669f9d5f5ae8f1fe5bd055f55aa4a18fa6d84cd
2010-08-23 17:25:55 -07:00
Jamie Gennis
85cfdd0112 Change the framework to use the new camera preview path.
This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated.  The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface.  The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
2010-08-23 14:31:30 -07:00
Wu-cheng Li
e7044384b2 Handle the camera open failure better.
Check if camera hardware is NULL to avoid mediaserver crash.

Change-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c
2010-08-19 21:44:06 -07:00
Jean-Baptiste Queru
154a320069 resolved conflicts for merge of 27eecb70 to gingerbread
Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
2010-07-30 12:08:31 -07:00
Mathias Agopian
24651682ed added BinderService<> template to help creating native binder services
Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
2010-07-14 18:43:19 -07:00
Mathias Agopian
08e83bb3b7 move native services under services/
moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14 17:59:35 -07:00