843 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
James Dong
349250f3b6 am c8d2fa70: am cbd038fe: Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread
Merge commit 'c8d2fa704abebdbf0bd8aac185216dc068950217'

* commit 'c8d2fa704abebdbf0bd8aac185216dc068950217':
  Make MediaWriter stop and pause return errors if necessary
2010-08-21 09:43:41 -07:00
Andreas Huber
fc5d0cf564 am b29ebd39: am f0ad5484: Merge "In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data." into gingerbread
Merge commit 'b29ebd397e25a7176bcc1c81980f17b0190ebe7f'

* commit 'b29ebd397e25a7176bcc1c81980f17b0190ebe7f':
  In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.
2010-08-21 09:41:54 -07:00
Nipun Kwatra
727f658e81 Merge "Added downsample()" 2010-08-20 11:35:38 -07:00
Nipun Kwatra
96624731c3 Added downsample()
Added a downsample function which downsamples the source image
starting at an offset and skipping every few pixels. Currently
no low pass filtering is done, but it should be added later.

Change-Id: Iec34092c536bfc661a15521e6a1ef2ef3f815c61
2010-08-20 10:54:59 -07:00
Nipun Kwatra
437e6c49f1 Merge "const correctness, validPixel test." 2010-08-20 10:41:08 -07:00
Nipun Kwatra
d1fbdf1a3f const correctness, validPixel test.
- made width(), height() const member functions.
- added validPixel() which returns true if pixel is in the allowed range.
- now testing validPixel in get/setPixelValue

Change-Id: I1dee5060bd4f8dcbdcd542ec4647ea328f0185c3
2010-08-19 18:26:58 -07:00
James Dong
cbd038fe20 Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread 2010-08-19 13:59:32 -07:00
James Dong
d036662470 Make MediaWriter stop and pause return errors if necessary
o Make the API consistent with SF framework, which the MediaSource
  provides a return status for stop

o Also, helps to convey errors that occurred right when a
  premature stop() is called, leading to a potentially
  mal-formed output file.

Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
2010-08-19 13:33:13 -07:00
Andreas Huber
eef3c33e56 In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.
Change-Id: I98c4194593c7e6e24f6fc339c862245111800293
2010-08-19 10:39:47 -07:00
Chia-chi Yeh
58d3bd0810 Visualizer: replace the FFT implementation with a faster one.
This implementation uses fixed points instead of floating points. It
is slightly inaccurate compared to the old one but still perfect for
visualization purpose. It runs 40% faster on passion, 5 times faster
on sholes, and of course 14 times faster on sapphire.

Change-Id: I1e868417bcffda091becf106a7b941d02813faec
2010-08-19 16:05:32 +08:00
James Dong
4ad5c707fa am 4fc2c928: am b7208196: Use audio clock as the reference media clock
Merge commit '4fc2c9280c5262c835a4eb78961241de105313c1'

* commit '4fc2c9280c5262c835a4eb78961241de105313c1':
  Use audio clock as the reference media clock
2010-08-16 15:18:13 -07:00
James Dong
b72081966d Use audio clock as the reference media clock
o Only do this for realtime applications
o Adjust other track clock based on audio clock
o Assume other track uses wall clock as the media clock
o Use some heuristics to reduce the size of stts box by 2/3.

- also
o Remove one unused key from MetaData.h

Change-Id: Ib9432842627b61795b533508158c25258a527332
2010-08-13 18:12:48 -07:00
James Dong
e63cccf006 am 8aa244ea: am 45cb3cfa: Merge "Handle large audio lost" into gingerbread
Merge commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff'

* commit '8aa244eab7ba834439cc919fd1f83d1e4ef49aff':
  Handle large audio lost
2010-08-12 10:22:58 -07:00
James Dong
afe5305855 Handle large audio lost
Change-Id: I2687ad855aac758946954d0b3fe7aff9f7b5ae7c
2010-08-10 19:59:04 -07:00
Andreas Huber
030af3439f am e14923b0: am 4edf85ab: Merge "Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder." into gingerbread
Merge commit 'e14923b0c80b2e73e69b7917c1f170b356592d29'

* commit 'e14923b0c80b2e73e69b7917c1f170b356592d29':
  Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.
2010-08-09 20:00:25 -07:00
Andreas Huber
520b2a7039 Support for extracting G.711 a-law and mu-law audio from WAV files and a corresponding software decoder.
Change-Id: I92685d09456c220b8c09842defb721bd55b0b9f6
related-to-bug: 2900021
2010-08-09 10:01:26 -07:00
James Dong
84d65c725b am 9c09a605: am 1441bdfc: Merge "Use the target color format from the camera source if possible" into gingerbread
Merge commit '9c09a60513faf39901bb8e4681d39812204b3f73'

* commit '9c09a60513faf39901bb8e4681d39812204b3f73':
  Use the target color format from the camera source if possible
2010-08-05 15:25:18 -07:00
James Dong
afd97e82cf Use the target color format from the camera source if possible
- If the target color format is unavailable, the default
  platform-dependent color format will be used.

- Also add some logic to prevent looping forever if the
  omx component is buggy supporting color format enumeration.

Change-Id: I119a78f0d6201b4c3621235cca2f523ec14e24e3
2010-08-05 13:47:01 -07:00
Andreas Huber
0a3858b0de am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread
Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'

* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
  Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
2010-08-05 11:46:04 -07:00
Andreas Huber
57648e4eec Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
2010-08-04 11:49:24 -07:00
James Dong
26d7a6df73 am 246aad12: am 3d84280c: Merge "File writer has a designated writer thread now" into gingerbread
Merge commit '246aad12cf2becda5111d03fd1dd8f39712686f2'

* commit '246aad12cf2becda5111d03fd1dd8f39712686f2':
  File writer has a designated writer thread now
2010-08-04 11:12:03 -07:00
James Dong
6c8687cf1e am 51a260d8: am 23796e3b: Merge "Add lost frame handling in AudioSource" into gingerbread
Merge commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef'

* commit '51a260d8c6e9a5c6b6c2cf808554ae013c1a7bef':
  Add lost frame handling in AudioSource
2010-08-03 15:52:48 -07:00
James Dong
3d84280ccc Merge "File writer has a designated writer thread now" into gingerbread 2010-08-03 10:35:55 -07:00