4991 Commits

Author SHA1 Message Date
Andreas Huber
d11eccf3a8 Merge "Multiple changes to ACodec/codec tools:" 2011-06-28 12:48:01 -07:00
Andreas Huber
e366f52b15 Multiple changes to ACodec/codec tools:
Make sure sf2 does not coalesce input buffers, generalize ACodec's codec
instantiation based on OMXCodec's list of eligible component names.

Some changes/additions to the "sf2" commandline tool

Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s'
New option '-R' renders surface-allocated buffers.

Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified.

Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
2011-06-28 10:51:41 -07:00
Jeff Tinker
f65d59bdd3 Merge "Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video." 2011-06-28 10:12:08 -07:00
James Dong
88f7194f6d Add a testcase to test PNG files support for KenBurn effect.
Change-Id: I1d0b3ff7b5aa21c25c141b440521e64b4a82043d
related-to-bug: 4861071
2011-06-27 13:42:55 -07:00
Jeff Tinker
d63d947d40 Fix for b/4165024: Serious Memory leak when playing a WV protected streaming video.
This change allows the WVM extractor to close and reopen when not in use which resolves
the issue with heap fragmentation between plays.

Change-Id: I160ee1e98aada2bfdd0818eeb6300ad50644fb75
2011-06-27 12:42:39 -07:00
Andreas Huber
b5cc1f1e21 Merge "Fix the new color converter to respect the destination crop rect." 2011-06-27 11:14:19 -07:00
Andreas Huber
e67e99a9fb Merge "Log video dimensions and crop rectangle." 2011-06-27 11:14:12 -07:00
Andreas Huber
f7ee6692a5 Merge "Update paths to test content used to run the omx_tests." 2011-06-27 11:14:05 -07:00
Glenn Kasten
5c2faf3dc3 Bug 4571308 Provide correct video frame timestamps
Change-Id: I0f726817fc02d3e2a4cf82ed801ef977994e6bcc
2011-06-27 11:09:33 -07:00
James Dong
654af6c57d Merge "Reduce the number of output buffers and force output buffers in display order for SoftAVC decoder" 2011-06-27 10:34:13 -07:00
Andreas Huber
cdfa6141d2 Fix the new color converter to respect the destination crop rect.
Also fixes the SoftwareRenderer to request blitting the correct crop rectangles.

Change-Id: I38706cf9b42d96c6d5b35a9380f006ea4fbbf1ea
2011-06-27 09:26:09 -07:00
Andreas Huber
f167f503c9 Log video dimensions and crop rectangle.
Change-Id: Ia56b09df4f6e9a14c4dcc499a6637fc39f8e3bb5
2011-06-27 09:26:09 -07:00
Andreas Huber
1ef4c197a6 Update paths to test content used to run the omx_tests.
Change-Id: I23201ac1541df032426cb05b9dc872b28882f992
2011-06-27 09:26:09 -07:00
Wu-cheng Li
42419ce28a Add framework support for camcorder zoom.
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
2011-06-27 15:44:57 +08:00
James Dong
2db9a95bc5 Reduce the number of output buffers and force output buffers in display order for SoftAVC decoder
Change-Id: I9ec6d8205e7a56e42d5b5799a6c2e31076d24b81
2011-06-26 07:42:39 -07:00
Anu Sundararajan
3db9f38174 Stagefright: add support for gralloc OMX_UseBuffer.
XXX: This change should go along with a documentation change to
HardwareAPI.h that describes the new extension.

This change adds support for passing a buffer_handle_t to OMX_UseBuffer
during OMXCodec initialization. This new way of passing the
buffer_handle_t's replaces the old OMX_SetParameter-based approach, and
this change deprecates that interface, but still supports it for OMX IL
implementations that do not support the new interface.

Change-Id: If9c1cb3c6c349c54dab094aeb8af13eae9f85271
Signed-off-by: Jamie Gennis <jgennis@google.com>
Signed-off-by: Sarthak Aggarwal <sarthak@ti.com>
2011-06-23 18:35:25 -07:00
Anu Sundararajan
d35df4412b Integrating TI OMAP4 Video Decoder
Added the video decoder component name to kDecoderInfo.
Set the quirks for the video decoder.
Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format.
Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation.

Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
2011-06-23 18:35:24 -07:00
Gloria Wang
1e1b13e62e - Public part of the Metadata API.
- Modify the media framework test for Metadata.

Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
2011-06-23 15:28:36 -07:00
Andreas Huber
5ecc4601ea Merge "Parse RTP-Info even for live streams." 2011-06-23 10:12:22 -07:00
Glenn Kasten
db262e6cf0 Merge "Fix warnings for uninitialized local variables" 2011-06-23 09:00:03 -07:00
Eric Laurent
e2ac799dfc Merge "Added audio_bytes_per_sample() helper function" 2011-06-23 08:08:20 -07:00
Martin Storsjo
21fc9ad28e stagefright amrwbenc: Remove a duplicate, unused file
This file is identical to common/cmnMemory.c, and that's the
file that is used by all the makefiles, not this one.

Change-Id: I6a601c24a983285e55e5356bd5569853a1e2d7fe
2011-06-23 12:20:12 +03:00
Glenn Kasten
028ab996e5 Fix warnings for uninitialized local variables
Change-Id: Ic9b03b0fd215444e76c7b7bebb385f7831c557e0
2011-06-22 16:18:04 -07:00
Shailendra
31f8b62855 Merge "Fix for kenBurn Effect for PNG image is crashing (4861071 )" 2011-06-22 14:13:21 -07:00
Gloria Wang
019caf42c0 Merge "Timed text display format support: 1. Extract 3GPP global format descriptions 2. Extract 3GPP local format descriptions 3. Define data structure (TimedText) for applications to retrieve the format metadata" 2011-06-22 13:47:45 -07:00
Shailendra
d7ed599263 Fix for kenBurn Effect for PNG image is crashing (4861071 )
Change-Id: I4b9905ca862a1f0eac0bed4c7f021e93f79ea592
2011-06-22 12:15:56 -07:00
Martin Storsjo
842679beea stagefright: Only use __int64 on MSVC, not on all win32 compilers
Change-Id: I9eef7e1cb762753b792ab602333dc5a2fd8a173c
2011-06-22 21:55:13 +03:00
Martin Storsjo
a9de2b598d stagefright aacenc: Make the mem_malloc function 64-bit safe
Change-Id: I720109133bf5e13388b26a3bdbd66ff1f5320b70
2011-06-22 21:54:25 +03:00
Martin Storsjo
5c8247f730 stagefright: Include stdlib.h for malloc/free
According to ANSI C, malloc/free are provided by stdlib.h.

Also, string.h is always available according to ANSI C, and provides
the memset function, so there's no need to include it conditionally
for linux only.

This makes the code buildable on OS X, too.

Change-Id: Ie5d1da02158797e7e45dea257cbe3e4996dde4db
2011-06-22 21:54:06 +03:00
Gloria Wang
eaa5d8f9c0 Timed text display format support:
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata

Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
2011-06-22 11:32:19 -07:00
James Dong
032897470a Merge "Add some error log messages to indicate the failure of a recording session" 2011-06-22 11:07:52 -07:00
James Dong
0f5d8441ef Merge "Switch to use MediaMetadataRetriever to generate the project thumbnail when the first media item is a MediaVideoItem" 2011-06-22 10:33:25 -07:00
James Dong
839ba2c183 Add some error log messages to indicate the failure of a recording session
Change-Id: I8c5885200bcf6a59736076efc021f07f45a0fdac
2011-06-22 10:09:03 -07:00
James Dong
e413899097 Merge "Timestamp adjustment will not work well if we ask video encoder to produce B frames" 2011-06-21 17:13:57 -07:00
James Dong
e67bb48b66 Timestamp adjustment will not work well if we ask video encoder to produce B frames
Change-Id: Ic6a2235fefb6f15081091e1f2c1b12ee92fba5e0
2011-06-21 17:05:42 -07:00
Andreas Huber
274626469b Log an error instead of asserting if the OMX plugin reports an error.
Change-Id: I2bae80706495c5c5d4257cd607c2141c070c5ff9
2011-06-21 14:43:27 -07:00
James Dong
24a38f1ab9 Switch to use MediaMetadataRetriever to generate the project thumbnail when the first media item is a MediaVideoItem
o This patch allows us to use the logic from MediaMetadataRetriever to extract a thumbnail instead of extracting
  the thumbnail from a fixed position (@500 ms).

Change-Id: I81e8378d9bed80894cc622479679021dce3d52e5
related-to-bug: 3485609
2011-06-21 13:50:51 -07:00
Andreas Huber
157c74e7ac Merge "Don't assert on malformed .mp4 content that contains fewer samples than" 2011-06-21 12:13:41 -07:00
James Dong
bbf7c449e1 Merge "Boost software vp8 decoder performance using multi-threaded decoding if possible" 2011-06-21 12:12:06 -07:00
Andreas Huber
467bc25755 Parse the individual segment's duration as a floating point number which is now
allowed in later HLS specs.

Change-Id: I7c8296acb4e9b0f80022f3057769de0eea9ee0c6
related-to-bug: 4779022
2011-06-21 11:55:34 -07:00
Andreas Huber
727863d2de Don't assert on malformed .mp4 content that contains fewer samples than
described in the time-to-sample box.

Change-Id: Ic6f973212c15012a25f6e849759fd4f14d97e30f
related-to-bug: 4779053
2011-06-21 11:38:01 -07:00
Andreas Huber
e2b801e5a4 Merge "Restore legacy soft-aac decoder behaviour. Substitute silence on decode error." 2011-06-21 08:36:51 -07:00
Mike Lockwood
7d40d42a36 MTP: Add support for PTP variant of GetDeviceInfo result.
Change-Id: I09f86fda768b7697665e401adb9516588859bf59
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-21 08:27:06 -04:00
Andreas Huber
dabf22181d Restore legacy soft-aac decoder behaviour. Substitute silence on decode error.
Change-Id: I680ccaabef32b1319819f723260cb3789585f09e
related-to-bug: 4579486
2011-06-20 16:19:09 -07:00
Andreas Huber
02392b41de Merge "OGG: To prevent mediaserver from crash by SIGFPE (divide by zero) and more guarding in getMetaData()." 2011-06-20 16:08:06 -07:00
James Dong
b2af97e9a1 Merge "When a recording session is stopped, no outstanding input video frames exist for the output buffers returned from OMX component to SF." 2011-06-20 13:23:14 -07:00
James Dong
32bb368a51 When a recording session is stopped, no outstanding input video frames exist for the output buffers returned from OMX component to SF.
When this happens, default value of 0 will be used for the "decoding" time for these output buffers.
These buffers do not contain valid media data anyway.

related-to-bug: 4725803

Change-Id: I0eaf248bb2ac022ff072eaffd0ed3f21171f824e
2011-06-20 12:09:49 -07:00
James Dong
c03f08e5c7 Boost software vp8 decoder performance using multi-threaded decoding if possible
Change-Id: I7258c7d0cf91aa7c62444d03ed8bce96fb23d8ef
related-to-bug: 4539653
2011-06-20 11:53:39 -07:00
Andreas Huber
d873413ff9 Parse RTP-Info even for live streams.
Change-Id: Ib2c39ce8d5366f5ea350e71b7a54f5f7c2b510b9
2011-06-20 10:34:43 -07:00
Glenn Kasten
df02afe835 Merge "Remove unneeded #include <sys/resource.h>" 2011-06-20 07:47:51 -07:00