summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Pass the IGraphicBufferAlloc to SurfaceTextureClient.Jamie Gennis2011-02-023-0/+16
| | | | | | | | | | | | | This change passes a reference to the IGraphicBufferAlloc binder object to SurfaceTextureClient objects. When STC objects are created they query their associated ISurfaceTexture object for the IGraphicBufferAlloc that the SurfaceTexture uses to allocate buffers. Having the SurfaceTextureClient hold this reference prevents the GraphicBufferAlloc in SurfaceFlinger from freeing the allocated buffers before the SurfaceTextureClient is done with them. Change-Id: Ib8e30e8b37fdd60438cbb4cb7e9174d0ba6d661c related-bug: 3362519
* Reset ANativeWindow crop on buffer geometry changes.Jamie Gennis2011-01-281-0/+2
| | | | | | | | | This changes the ANativeWindow API and the two implementations to reset the window's crop rectangle to be uncropped when the window's buffer geometry is changed. Bug: 3359604 Change-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b
* Make sure that key frame is generated for timelapse video recording if there ↵James Dong2011-01-262-1/+5
| | | | | | | | | | | | | | | | | | | | | are at least two input video frames from camera source. This will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where o n is the actual number of buffers advertised by the video encoder o time_interval is the interval settings for timelapse video recording specifying the time distance between neighboring input video frames The fix includes two parts: o OMXCodec will not submit all n buffers at one time, but instead submit one input frame at one time if it become available. o Timelapse camera source made available the first two input frames and do not skip them so that the first compressed output frame data can be received regardless the specified time_interval bug - 3367659 Change-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b
* Protect notification callback parameters with a mutex.Andreas Huber2011-01-261-4/+14
| | | | | | | | This avoids the race condition where notifications are dispatched to a NULL receiver after notifications have been disabled. Change-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a related-to-bug: 3394139
* Merge "Fix crashes caused by some input devices." into honeycombJeff Brown2011-01-251-1/+3
|\
| * Fix crashes caused by some input devices.Jeff Brown2011-01-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The touch screen sometimes reports more than 10 pointers even though that's all we asked for. When this happens, we start dropping events with more than 10 pointers. This confuses applications and causes them to crash. Raised the limit to 16 pointers. Bug: 3331247 The default behavior was to identify all touch devices as touch screens. External devices that are plugged in are more likely to be touch pads not attached to a screen. Changed the default to be a touch pad and renamed some internal constants to avoid confusion. A certain mouse happens to also behave like a touch pad. That caused problems because we would see multiple concurrent traces of motion events coming from the same input device so we would batch them up. Added code to ensure that we don't batch events unless they come from the same *source* in addition to coming from the same *device*. Due to batching or misbehaving drivers, it's possible for the set of pointer ids to be different from what we expect when it comes time to split motion events across windows. As a result, we can generate motion events with 0 pointers. When we try to deliver those events, we cause an error in the InputTransport so we tear down the InputChannel and kill the application. Added code to check out assumption about pointer ids and drop the event gracefully instead. Patched up the tests to take into account the change in default behavior for identifying touch screens and touch pads. Change-Id: Ic364bd4cb4cc6335d4a1213a26d6bdadc7e33505
* | StagefrightMediaScanner: Close metadata retriever after we are done scanningMike Lockwood2011-01-251-4/+0
|/ | | | | | | | | | This prevents the mediaserver from leaking a file descriptor after the media scanner runs BUG: 3373546 Change-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc Signed-off-by: Mike Lockwood <lockwood@android.com>
* Use optimized display lists for all hwaccelerated renderingChet Haase2011-01-241-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, display lists were used only if hardware acceleration was enabled for an application (hardwareAccelerated=true) *and* if setDrawingCacheEnabled(true) was called. This change makes the framework use display lists for all views in an application if hardware acceleration is enabled. In addition, display list renderering has been optimized so that any view's recreation of its own display list (which is necessary whenever the visuals of that view change) will not cause any other display list in its parent hierarchy to change. Instead, when there are any visual changes in the hierarchy, only those views which need to have new display list content will recreate their display lists. This optimization works by caching display list references in each parent display list (so the container of some child will refer to its child's display list by a reference to the child's display list). Then when a view needs to recreate its display list, it will do so inside the same display list object. This will cause the content to get refreshed, but not the reference to that content. Then when the view hierarchy is redrawn, it will automatically pick up the new content from the old reference. This optimization will not necessarily improve performance when applications need to update the entire view hierarchy or redraw the entire screen, but it does show significant improvements when redrawing only a portion of the screen, especially when the regions that are not refreshed are complex and time- consuming to redraw. Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
* Properly rotate video that's marked as such and decoded to a surface.Andreas Huber2011-01-211-0/+2
| | | | | Change-Id: I1e9144db3447e58c99aac3f47702ad471678789c related-to-bug: 3378148
* Some tweaks to HTTP live / nuplayer behaviourAndreas Huber2011-01-211-1/+4
| | | | | | | | | | - play audio-only streams again - workaround for malformed streams that switch PIDs across bandwidths - attempt to pick a different bandwidth stream if the previously chosen one appears to be malformed/unsupported. Change-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9 related-to-bug: 2368598
* Merge "clean-up unneeded code" into honeycombMathias Agopian2011-01-201-8/+1
|\
| * clean-up unneeded codeMathias Agopian2011-01-201-8/+1
| | | | | | | | | | | | | | | | | | | | now that we removed the notion of a "inUse" buffer in surfaceflinger a lot of code can be simplified / removed. noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete" is also gone. Change-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d
* | Fix getSwitchState.Jeff Brown2011-01-191-0/+9
|/ | | | | | | | | | | | InputReader::getSwitchState always returns AKEY_STATE_UNKNOWN because SwitchInputMapper::getSources() returns 0 which cannot match any source mask including AINPUT_SOURCE_ANY. As a result initial lid switch detection is broken. This change adds a new source constant AINPUT_SOURCE_SWITCH that indicates that the source has switches. Change-Id: I5321ecf0ce84f1c2b4535f6c163d3f4dcf9b7a9b
* Fix the presentation video resolution when it is different from the actual ↵James Dong2011-01-191-2/+4
| | | | | | | | image resolution of the video. bug - 3352413 Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
* Merge "integrate videoeditor preview player." into honeycombDharmaray Kundargi2011-01-172-0/+7
|\
| * integrate videoeditor preview player.Dharmaray Kundargi2011-01-162-0/+7
| | | | | | | | Change-Id: I83084f494605c8e6f4d198afa8c36f9e29579667
* | Implement SurfaceTexture frame-available callback.Jamie Gennis2011-01-161-0/+13
|/ | | | | | | | This change implements the onFrameAvailable callback for the SurfaceTexture java class. It includes the C++ SurfaceTexture code as well as the JNI and Java code to enable the callback. Change-Id: Ifd8b8e7ad46ee70cba6da1c2e96dab8045d1ea30
* Merge "Fix error reporting in Surface::cancelBuffer()" into honeycombMathias Agopian2011-01-141-1/+1
|\
| * Fix error reporting in Surface::cancelBuffer()Mathias Agopian2011-01-141-1/+1
| | | | | | | | | | | | | | | | | | when we validate the surface there, most errors are in fact allowed because it is legal to cancel a buffer after a surface has been destroyed (for instance). in that case make sure to not log error messages as they are very confusing. Change-Id: Iecdfbaf6d9ee5da54d56cd7ea7a0d430c30934b0
* | Fix remote GraphicBuffer allocation in SurfaceFlinger.Jamie Gennis2011-01-133-8/+89
| | | | | | | | | | | | | | | | | | | | | | This change fixes a horrible hack that I did to allow application processes to create GraphicBuffer objects by making a binder call to SurfaceFlinger. This change introduces a new binder interface specifically for doing this, and does it in such a way that SurfaceFlinger will maintain a reference to the buffers until the app is done with them. Change-Id: Icb240397c6c206d7f69124c1497a829f051cb49b
* | Merge "Add a method enable encryption." into honeycombJason parks2011-01-131-0/+1
|\ \
| * | Add a method enable encryption.Jason parks2011-01-121-0/+1
| |/ | | | | | | | | | | This is for testing and needs to be cleaned up. Change-Id: I29958f2a95c7773744e61bbd23a302b752614f87
* | Merge "Implement crop & transform for SurfaceTexture." into honeycombJamie Gennis2011-01-121-0/+46
|\ \
| * | Implement crop & transform for SurfaceTexture.Jamie Gennis2011-01-121-0/+46
| |/ | | | | | | | | | | | | | | | | This change adds support for the setCrop and setTransform methods of the SurfaceTexture C++ class. The crop and transform for the current texture will be accessed by applications as a single texture coordinate transform matrix. Change-Id: I6482bf96f680e5c175364e848936db3908d6c8f8
* | Publish MediaMetadataRetriever.java as public APIJames Dong2011-01-123-55/+6
|/ | | | | | | | | | | | o Removed setMode() methods and related mode constants o Removed some of the unused the metadata keys o Updated the javadoc o part of a multi-project change. bug - 2433195 Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
* Merge "Fix a bug in SurfaceTexture::setBufferCount." into honeycombJamie Gennis2011-01-101-2/+5
|\
| * Fix a bug in SurfaceTexture::setBufferCount.Jamie Gennis2011-01-091-2/+5
| | | | | | | | | | | | | | We need to reset mCurrentTexture and mLastQueued in setBufferCount because it frees all of the buffers associated with the buffer slots. Change-Id: Ie2f834ec1c07ce7a4ab9b2b5fc5fe8c294010c60
* | Merge "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications." into ↵Andreas Huber2011-01-102-0/+18
|\ \ | | | | | | | | | honeycomb
| * | NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.Andreas Huber2011-01-102-0/+18
| |/ | | | | | | | | Change-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d related-to-bug: 3336496
* | Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not ↵James Dong2011-01-101-2/+7
|/ | | | | | | | hold the last reference of OMXCodec object bug - 3336424 Change-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89
* Add support for the "compilation" tag in mp3, mp4 and ogg, and also addMarco Nelissen2011-01-072-0/+2
| | | | | | | | | support for two common ways of specifying album artist in ogg files. b/3311831 (cherry-picked from GB because of weird automerger failure) Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
* Merge "Add camera service support for SurfaceTexture." into honeycombJamie Gennis2011-01-062-0/+9
|\
| * Add camera service support for SurfaceTexture.Jamie Gennis2011-01-062-0/+9
| | | | | | | | | | | | | | This change enables the use of a SurfaceTexture in place of a Surface as the destination of camera preview frames. Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
* | Merge "Colorconverter may not support some src/dst bitmap configurations." ↵Andreas Huber2011-01-061-5/+6
|\ \ | |/ |/| | | into honeycomb
| * Colorconverter may not support some src/dst bitmap configurations.Andreas Huber2011-01-061-5/+6
| | | | | | | | | | | | | | Let it return an appropriate error code instead of asserting. Change-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e related-to-bug: 3328212
* | Add the SurfaceTexture C++ implementation.Jamie Gennis2011-01-064-0/+349
| | | | | | | | | | | | | | | | | | | | This change adds the C++ implementation of SurfaceTexture and related classes. The goal of this is for a SurfaceTexture to be passed to camera service or Stagefright in place of a Surface to allow camera preview or decoded video frames to be streamed to an OpenGL ES texture that an application can use. Change-Id: I55c83a7017f1ecb81c9c9e3252cbd118b914296c
* | Add the ISurfaceComposer::createGraphicBuffer IPC.Jamie Gennis2011-01-061-0/+8
|/ | | | | | | | This change adds a new binder method to the ISurfaceComposer interface. This IPC is intended to allow SurfaceFlinger clients to allocate gralloc buffers using SurfaceFlinger as a proxy to gralloc. Change-Id: Ide9fc283aec5da6268ba62cfed0c3319a50b640d
* am a8ce7736: am 35e8dcb9: Merge "Suppress the recording sound in the ↵James Dong2011-01-051-2/+2
|\ | | | | | | | | | | | | recorded video" into gingerbread * commit 'a8ce773607c26dd4336f57856afce507fb98a279': Suppress the recording sound in the recorded video
| * am 35e8dcb9: Merge "Suppress the recording sound in the recorded video" into ↵James Dong2011-01-051-2/+2
| |\ | | | | | | | | | | | | | | | | | | gingerbread * commit '35e8dcb9df8c3d77ede120e3f1aaf842b2928639': Suppress the recording sound in the recorded video
| | * Suppress the recording sound in the recorded videoJames Dong2011-01-041-2/+2
| | | | | | | | | | | | | | | | | | bug - 3309194 Change-Id: Ib8fb248943bc22f963d67537bfdbc6056c5a159b
| * | am a2977c38: Merge changes Ie03796ae,Ide3e980a into gingerbreadMathias Agopian2010-12-072-2/+16
| |\ \ | | |/ | | | | | | | | | | | | * commit 'a2977c383d363e1e88a5b36230b1fa4c312807d2': [3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE) [3171580] Add transform field to native buffers. (DO NOT MERGE)
| | * [3171580] Add transform field to native buffers. (DO NOT MERGE)Mathias Agopian2010-12-032-2/+16
| | | | | | | | | | | | | | | | | | | | | This field indicate how the content of the buffer needs to be transformed. Change-Id: Ide3e980a90599e931406135693231276626adbbb
* | | Merge "Seek/Duration support for completed http live streams in NuPlayer."Andreas Huber2011-01-051-1/+0
|\ \ \
| * | | Seek/Duration support for completed http live streams in NuPlayer.Andreas Huber2011-01-051-1/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463 related-to-bug: 3321475
* | | | Merge "Fixed a typo in the enum for unknown camera error message"James Dong2011-01-051-1/+1
|\ \ \ \
| * | | | Fixed a typo in the enum for unknown camera error messageJames Dong2011-01-041-1/+1
| |/ / / | | | | | | | | | | | | Change-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a
* | | | Merge "Add decryption support to MountService."Jason parks2011-01-051-0/+1
|\ \ \ \
| * | | | Add decryption support to MountService.Jason parks2011-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement the decryptStorage() method on the Mount Service. This method makes the calls into vold to decrypt the encrypted volumes and mount them. Change-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7
* | | | | Merge "Use video output if necessary for timelapse video recording"James Dong2011-01-051-3/+3
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Use video output if necessary for timelapse video recordingJames Dong2011-01-041-3/+3
| |/ / / | | | | | | | | | | | | Change-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8