1358 Commits

Author SHA1 Message Date
James Dong
7755cdd696 Remove unused/debugging code from MP4 file writer
o also makes nal length in the recorded file modifiable at runtime

Change-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf
2010-09-03 10:13:19 -07:00
James Dong
0e60f5304b am 3c3fc97e: am 46e63b34: Merge "Better file size estimate" into gingerbread
Merge commit '3c3fc97e104bd17af608727d82e965fc28f2c89d'

* commit '3c3fc97e104bd17af608727d82e965fc28f2c89d':
  Better file size estimate
2010-09-03 09:59:05 -07:00
James Dong
cb7e65c6cb Better file size estimate
When the recorded file becomes large, the metadata size can
no longer be ignored. This makes it possible to save the
recorded file when the storage becomes almost full at the
end of the recording session.

Change-Id: Ief038080f825c9946ce550949c03e914aec1e31a
2010-09-02 20:10:00 -07:00
James Dong
9f20d3328f am bb64e554: am 7ed7668b: Merge "Calculate audio media drift time from AudioSource" into gingerbread
Merge commit 'bb64e554d9a28fcf8eebf579e91ff71b8ffef1e3'

* commit 'bb64e554d9a28fcf8eebf579e91ff71b8ffef1e3':
  Calculate audio media drift time from AudioSource
2010-09-02 18:51:05 -07:00
James Dong
4c23815c39 Calculate audio media drift time from AudioSource
The problem was that the time to receive an output buffer
from an audio encoder is different because the encoder does not
need to read from the source for all output buffers. This leads
to large fluctuation in terms of wall clock duration between two
neighboring audio sample outputs from the audio encoder. As a
result, the media time for the video track after adjustment using
the drifting changes wildly sometimes.

This patch addresses this issue by only updating the media drift
time when an audio source input buffer is read. the wall clock
for the audio track is also calculated at the same time when
the input audio buffer is read at AudioSource.

bug - 2959800

Change-Id: I3174aa182f744784b540f0a7198524d4eee8bd7b
2010-09-01 20:45:39 -07:00
Jamie Gennis
2198d7517c Revert "Merge "Add the new Stagefright ANativeWindow OMX codec API.""
This reverts commit 8a643b411e1802977f742709113ce01b06a18e12, reversing
changes made to 73ea9beaf8eb3d0027e78cbc0ac5e626c3f8deb4.
2010-09-01 14:32:35 -07:00
Jamie Gennis
8a643b411e Merge "Add the new Stagefright ANativeWindow OMX codec API." 2010-09-01 14:00:33 -07:00
Jamie Gennis
dab357bfd0 Add the new Stagefright ANativeWindow OMX codec API.
This change defines the two OMX_SetParameter calls that enable OMX codecs to
interact with ANativeWindows.  It also adds the plumbing to the IOMX, OMX, and
OMXNodeInstance classes to use these new APIs.

Change-Id: Ibfbf893dc3513db0b3d3221bec5708c77287cddc
2010-09-01 13:07:08 -07:00
aimitakeshi
d074e30ce4 Initial contribution from Sony Corporation.
Add DRM Framework to support DRM content playback
  together with StageFright.

  - DRM Framework code is added
     - include/drm
     - drm
  - api/current.xml is updated to include DRM Framework Java APIs
  - cmds/servicemanager/service_manager.c is modified
    to add drmManager and drmIOService.

Change-Id: I6d7bc9c7067362b500e530988a9ce241761866fb
2010-09-01 15:40:00 +09:00
Jeff Brown
ee6d676c5b am df02df11: am 307ed31c: Merge "Remove incomplete input device enumeration NDK API." into gingerbread
Merge commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3'

* commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3':
  Remove incomplete input device enumeration NDK API.
2010-08-31 15:53:17 -07:00
Jeff Brown
5fad2675e8 Remove incomplete input device enumeration NDK API.
Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
2010-08-31 15:24:55 -07:00
Brad Fitzpatrick
1423f51ec5 am ae087369: am 63070856: Merge "Don\'t propagate StrictMode over one-way Binder calls." into gingerbread
Merge commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80'

* commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80':
  Don't propagate StrictMode over one-way Binder calls.
2010-08-31 15:06:24 -07:00
Brad Fitzpatrick
0234376503 Don't propagate StrictMode over one-way Binder calls.
This was causing stack stitching problems where a one-way call with
violations followed by a two-way call without violations was getting
the previous one-way call's violation stack stitched on to the second
caller's stack.

The solution is a little more indirect than I would've liked
(preserving the binder's onTransact flags until enforceInterface) but
was seemingly necessary to work without changing the AIDL compiler.
It should also be sufficiently cheap, since no new calls to
thread-local IPCThreadState lookups were required.  The additional
work is just same-thread getter/setters on the existing
IPCThreadState.

Change-Id: I4b6db1d445c56e868e6d0d7be3ba6849f4ef23ae
2010-08-31 13:16:49 -07:00
Nipun Kwatra
06a1d619aa Added VideoSourceDownSampler
VideoSourceDownSampler takes in a real video source. The MediaSource
interface is then implemented by shortcircuiting calls to this real source,
except for the read() function. For read we first call read of the real
source, then downsample the frame to the desired size and return that.

Change-Id: I6e1b377e043e136a70a7b03792eb9165bbe26398
2010-08-31 10:38:49 -07:00
Nipun Kwatra
b33a5aea13 Added setAuxiliaryOutputFile to MediaRecorder and JNI
added setAuxiliaryOutputFile to allow setting of an auxiliary output file.
Also added the JNI support.

Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
2010-08-31 10:38:49 -07:00
Jeff Brown
22f5ee9374 am 36f0cb26: am 8d60866e: Input device calibration and capabilities.
Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
  Input device calibration and capabilities.
2010-08-30 18:29:12 -07:00
Jeff Brown
8d60866e21 Input device calibration and capabilities.
Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects.  The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
2010-08-30 18:16:43 -07:00
Wu-cheng Li
b8f7f42f70 am 6e46e6f7: am 7ec7b997: Remove camera metering mode API.
Merge commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5'

* commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5':
  Remove camera metering mode API.
2010-08-30 14:06:16 -07:00
Wu-cheng Li
7ec7b9970c Remove camera metering mode API.
Metering mode is not supported yet.

Change-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e
2010-08-30 13:33:53 -07:00
Andreas Huber
631025eec0 am 6df6d606: am df992ac9: Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread
Merge commit '6df6d60681be9d524ce7fc07f2511008de424d27'

* commit '6df6d60681be9d524ce7fc07f2511008de424d27':
  ALoopers can now be named (useful to distinguish threads).
2010-08-30 13:29:51 -07:00
Andreas Huber
df992ac9cc Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread 2010-08-30 10:28:24 -07:00
Nipun Kwatra
453f2ef14a Merge "client_id->clientId, bugfix for signaling of read abort on stop." 2010-08-27 18:21:30 -07:00
Nipun Kwatra
ea434daf19 client_id->clientId, bugfix for signaling of read abort on stop.
- changed client_id->clientId, mClient_id->mClientId
- there was a bug in the condition for calling
  signalReadComplete_lock() in stop. We should call it only when
  !mLastReadCompleted and also if the current client has not already
  completed its read (this second check was missing before).

Change-Id: I9a57cf6b5c6f3260883a6c74d0c7b22f675c422e
2010-08-27 18:19:22 -07:00
James Dong
206bf9df48 am a5fe77d0: am df8356ff: Merge "Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder is occasionally too small." into gingerbread
Merge commit 'a5fe77d004091bd9521d087c2572f587191afbfc'

* commit 'a5fe77d004091bd9521d087c2572f587191afbfc':
  Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
2010-08-27 18:10:01 -07:00
James Dong
c6ff7a9189 am 7d3ff384: am b86365ad: Merge "Suppress the video recording start signal - bug 2950297" into gingerbread
Merge commit '7d3ff3849c830f0136c692b6074f1ba5da288fe7'

* commit '7d3ff3849c830f0136c692b6074f1ba5da288fe7':
  Suppress the video recording start signal
2010-08-27 18:09:37 -07:00
Mathias Agopian
54c4bf2743 am d322d163: am ae66946b: Merge "fix a race in SF buffer management" into gingerbread
Merge commit 'd322d16323176ddd5fef3383798176f64d0078c8'

* commit 'd322d16323176ddd5fef3383798176f64d0078c8':
  fix a race in SF buffer management
2010-08-27 16:18:12 -07:00
Andreas Huber
c4e0b70a21 ALoopers can now be named (useful to distinguish threads).
Change-Id: Ieabaddb2e3a9e3a7a5bc36e55cd0721b60dbd50e
2010-08-27 15:21:07 -07:00
James Dong
90862e2a8b Workaround for a QCOM issue where the output buffer size advertised by the AVC encoder
is occasionally too small.

bug - 2882917

Change-Id: Id59d8529084c5689a26f272e0cd3b1e955fd8a30
2010-08-27 13:59:26 -07:00
Nipun Kwatra
cf66e47ddd Merge "Added MediaSourceSplitter to split single source to multiple ones." 2010-08-27 13:48:15 -07:00
James Dong
b86365ad74 Merge "Suppress the video recording start signal - bug 2950297" into gingerbread 2010-08-27 13:47:06 -07:00
Nipun Kwatra
f83cba77b6 Added MediaSourceSplitter to split single source to multiple ones.
MediaSourceSplitter provides a way to split a single mediaSource
into multiple sources. It takes in the real mediaSource and multiple
clients can then be created which serve from the same real mediaSource.

Change-Id: I7254ead24b4c26c784b033e6bc7ff5a0d083a0c3
2010-08-27 13:46:41 -07:00
Mathias Agopian
c9289fa1c4 fix a race in SF buffer management
also remove some unused code.

Change-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352
2010-08-26 17:42:27 -07:00
James Dong
d7f1c3d692 Suppress the video recording start signal
- bug 2950297

Change-Id: I0044d07178691feb904cf81e87c1b6d4b714dc1a
2010-08-26 16:56:49 -07:00
Eric Laurent
ec95d93254 am 8ca5df27: am c14f9ca6: Merge "Added preset reverb." into gingerbread
Merge commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1'

* commit '8ca5df27df8a2b6435486f9b5a163bf222f8fed1':
  Added preset reverb.
2010-08-25 15:16:00 -07:00
Eric Laurent
c14f9ca6e5 Merge "Added preset reverb." into gingerbread 2010-08-25 15:09:10 -07:00
Andreas Huber
a1644109bb am 96dc4559: am b8814dce: Merge "Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now." into gingerbread
Merge commit '96dc45597e53742a2c8453f9ce03f7d501a75668'

* commit '96dc45597e53742a2c8453f9ce03f7d501a75668':
  Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.
2010-08-25 13:17:44 -07:00
Andreas Huber
efdd088a71 Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.
Change-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a
related-to-bug: 2948754
2010-08-25 13:08:38 -07:00
Mathias Agopian
bce2e90ca9 am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the orientation of an ANativeWindow" into gingerbread
Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64'

* commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64':
  fix [2931513] Add support for setting the orientation of an ANativeWindow
2010-08-24 17:56:40 -07:00
Eric Laurent
a7e5648d61 Added preset reverb.
Modified lvm reverb wrapper code to expose a preset reverb interface.
Also removed debug log from bundle and reverb wrapper.

Change-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967
2010-08-24 17:32:48 -07:00
Mathias Agopian
e96aa3e859 fix [2931513] Add support for setting the orientation of an ANativeWindow
Also implement support for cropping.

Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
2010-08-24 15:40:50 -07:00
James Dong
7741ecc907 am 28a92120: am 3f51fa78: Runtime dump support for MediaWriter
Merge commit '28a92120a702289533a9c9d004bd60f83b2fd98b'

* commit '28a92120a702289533a9c9d004bd60f83b2fd98b':
  Runtime dump support for MediaWriter
2010-08-24 11:20:40 -07:00
Chia-chi Yeh
3f6855ba6c am a102871c: am b80e610b: Merge "Visualizer: replace the FFT implementation with a faster one." into gingerbread
Merge commit 'a102871c7cbb74ebddc53231a871145de61351b0'

* commit 'a102871c7cbb74ebddc53231a871145de61351b0':
  Visualizer: replace the FFT implementation with a faster one.
2010-08-24 11:19:28 -07:00
Kenny Root
53e75ea847 resolved conflicts for merge of 485de781 to master
Change-Id: I483cb81596f09b024b1aea7fc55960183f38b24f
2010-08-24 09:57:33 -07:00
Wu-cheng Li
eee09313c6 am 346b6126: am 97a56269: Merge "Add camera fps range API." into gingerbread
Merge commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e'

* commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e':
  Add camera fps range API.
2010-08-24 09:01:27 -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
Andreas Huber
d5350764c9 Merge "Squashed commit of the following:" 2010-08-23 12:31:59 -07:00
Andreas Huber
e3c01832fc Squashed commit of the following:
commit 35cc68814a9537c31fde146e171e7b0bbdfe211e
Author: Andreas Huber <andih@google.com>
Date:   Mon Aug 16 08:48:42 2010 -0700

    Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else.

commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 13 13:56:44 2010 -0700

    The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise.

commit 684972074b74318bdcb826ed9b5b0864d2d2e273
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 13 09:34:35 2010 -0700

    A first shot at supporting the new rendering APIs.

Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
2010-08-23 12:30:24 -07:00
Wu-cheng Li
6c32677db3 am caaf7fe3: am 271c1bfd: Merge "Handle the camera open failure better." into gingerbread
Merge commit 'caaf7fe3a407c764f643585d050c16f5fb56503c'

* commit 'caaf7fe3a407c764f643585d050c16f5fb56503c':
  Handle the camera open failure better.
2010-08-23 12:02:21 -07:00
James Dong
3f51fa78ad Runtime dump support for MediaWriter
Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895
2010-08-23 10:34:05 -07:00
Chia-chi Yeh
b80e610b07 Merge "Visualizer: replace the FFT implementation with a faster one." into gingerbread 2010-08-22 18:31:15 -07:00