History log of /frameworks/av/include/media/stagefright/MetaData.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d637d296bb0954756d3d231633fad73fadd70316 25-May-2016 Lajos Molnar <lajos@google.com> stagefright: fix hdr/color metadata handling for .mkv files

This is needed for proper VP9 profile detection

Bug: 28671284
Change-Id: Ief313c9635462db7157988d7446e40f54e4cada7
/frameworks/av/include/media/stagefright/MetaData.h
0dc8be97f0fbee707b69b24b3a8d914f88c77423 21-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks

Bug: 28671284
Change-Id: I2367fd49f016b906299137afcabcd5cd1e7af4e3
/frameworks/av/include/media/stagefright/MetaData.h
46f80165c595d81dda68f8f3fea27f4fb04937dd 20-May-2016 Lajos Molnar <lajos@google.com> stagefright: fix issues with bitrate handling

- parse btrt mp4 box
- write max and avg. bitrates into avcc
- fix the use of "bit-rate" vs. the correct "bitrate"
- document ESDS better
- fix some spacing

Bug: 28671284
Change-Id: I94961a095c6d162af38b7999cc946f899a1b1b09
/frameworks/av/include/media/stagefright/MetaData.h
d0d32c0d39b56d7e85fcaa61f3245ac7bbb1f9eb 26-Apr-2016 Vignesh Venkatasubramanian <vigneshv@google.com> Pass VP9 Codec Specific Data from the Container

WebM container now has a provision to specify the VP9 Profile
and Level information in the container. Pass it to the Decoder as
Codec-Specific-Data. The software VP9 decoder will merely ignore
it.

Bug: 28152818
Bug: 28380207
Bug: 25684127

Change-Id: I77e2dc333093a346df6671e5f8d6d918ed45f7fb
/frameworks/av/include/media/stagefright/MetaData.h
69d3d8a9540b0da787ea0beccad2517f057dd54d 07-Mar-2016 Marco Nelissen <marcone@google.com> Expand mediaextractor dumpsys

Bug: 22775369
Change-Id: I3366a52ba7a00d1685a2211465f2f18f143d0efc
/frameworks/av/include/media/stagefright/MetaData.h
78bd91b15ee8ea5aa2ab5a8cad7e892cb2d01c1b 26-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: set pcm-encoding for raw audio tracks

Bug: 27172163
Change-Id: I4db7ace4e8cbf01939dedefbb1c54730e393530f
/frameworks/av/include/media/stagefright/MetaData.h
caaa15b1c8ca1632100cf8e64e82007239210339 26-Jan-2016 Ronghua Wu <ronghuawu@google.com> media: add hdr and color aspects metadata

Bug: 25684127
Change-Id: Idf5076a4d54bef0847523bf461e442f9e45b8f59
/frameworks/av/include/media/stagefright/MetaData.h
4f2559d3cdeb7187dedca186d5abc65af4bdb031 11-Dec-2015 Robert Shih <robertshih@google.com> matroska: accept MKVs whose AVC CSD is in the 1st frame

Bug: 25936003
Change-Id: Ied4e7e8b1d3e79195124d57abae2eaa208c9c88a
/frameworks/av/include/media/stagefright/MetaData.h
05b7b2d33816a4bf9592ec82639a7bcf06166157 21-Jan-2016 Jaesung Chung <jaesung@google.com> Merge "Support for CEA-708 closed caption"
3694d7cf40d1645bf05246cf38595eed606bb650 21-Oct-2015 Jaesung Chung <jaesung@google.com> Support for CEA-708 closed caption

Bug: 24314667, Bug: 24889604
Change-Id: Ica8a8405b143921de82ca6075a1f7b1f6f9ff345
/frameworks/av/include/media/stagefright/MetaData.h
b2487f03f12dcafdb801fc0007c8df8412397f44 01-Sep-2015 Marco Nelissen <marcone@google.com> Extractor service

Run extractors in a separate process. Currently all data is copied through a
binder transaction, and WVMExtractor is still run in the mediaserver process.

Change-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13
/frameworks/av/include/media/stagefright/MetaData.h
e0e37e13bc9e62e58484d1e54e66eaf506744548 07-Aug-2015 Marco Nelissen <marcone@google.com> am 48192b84: am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit '48192b84db39879e7d83a2f4e7023048fb81ee8e':
Fix crash on malformed id3
171b5fadb9d304f5e06686e4f3d060ef335d7250 07-Aug-2015 Marco Nelissen <marcone@google.com> am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit 'd6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3':
Fix crash on malformed id3
d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3 07-Aug-2015 Marco Nelissen <marcone@google.com> am f26400c9: Fix crash on malformed id3

* commit 'f26400c9d01a0e2f71690d5ebc644270f098d590':
Fix crash on malformed id3
f26400c9d01a0e2f71690d5ebc644270f098d590 05-Aug-2015 Marco Nelissen <marcone@google.com> Fix crash on malformed id3

Bug: 22954006
Change-Id: I488cb1e2c69fc7043b6040481b30fa866000515d
/frameworks/av/include/media/stagefright/MetaData.h
c93a13669ce1b5a9e6527b4c86c9d8f5e92be828 26-Jun-2015 Lajos Molnar <lajos@google.com> stagefright: ask for flex-YUV camera buffers for software encoders

Bug: 13222807
Change-Id: I854b73a63cf9239311729598241725d84e8513aa
/frameworks/av/include/media/stagefright/MetaData.h
f8bd851cc652501239a8e3759b21890dfa2afdea 24-Apr-2015 Robert Shih <robertshih@google.com> Copy sei offset/size during ABuffer/MediaBuffer conversion

Bug: 20537676
Change-Id: I0bd11527ccd022c39d94b7877df81de4da1b14a6
/frameworks/av/include/media/stagefright/MetaData.h
be39e102a64f48fb3afe6ca412231f17df3c3c87 15-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: parse stream resolution and set maxWidth/maxHeight"
a0d0ba51ad60a68117a0ee78e37ab78715b8a069 11-Apr-2015 Chong Zhang <chz@google.com> HLS: parse stream resolution and set maxWidth/maxHeight

bug: 20160436

Change-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1
/frameworks/av/include/media/stagefright/MetaData.h
8cfad968d5ec429b033caff9743f1ef15090be61 08-Apr-2015 Chong Zhang <chz@google.com> stagefright: metadata retriever changes for capture fps

bug: 19460202
Change-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8
/frameworks/av/include/media/stagefright/MetaData.h
dd235727a1b4e283deeb581559f99c2c8889da07 12-Jun-2014 Robert Shih <robertshih@google.com> GenericSource: implement getTrackCount/getTrackInfo

Bug: 15153976
Change-Id: I0204c4188d485cda026497469c7cde24f7bd5c95
/frameworks/av/include/media/stagefright/MetaData.h
3b5a6b9fa6c6825a1d0b441429e2bb365b259827 20-May-2014 Harish Mahendrakar <harish.mahendrakar@ittiam.com> stagefright: added support, and SoftOMX decoder, for HEVC

also fixed QuerySupportedProfileLevels in
SoftVideoDecoderOMXComponent.cpp

Bug: 14571712
Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
/frameworks/av/include/media/stagefright/MetaData.h
f590f948e6c0fe3c54008dd7802fd513f127792d 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Bug: 11697128.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
/frameworks/av/include/media/stagefright/MetaData.h
bf927f8ec7979f2b64331c2b2f12a6a5dba05bca 29-Jan-2014 Vignesh Venkatasubramanian <vigneshv@google.com> Opus Matroska support in OpenMax

Adding Openmax component for libopus software decoder. This can
decode opus audio files embedded in matroska containers.

Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc
Note: This CL is part of adding Opus support to Android.
/frameworks/av/include/media/stagefright/MetaData.h
328abde67f57c026ac44e927f9244c40832499c8 27-Jan-2011 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added support for ID3v2 meta data in 3gp files

Added support for parsing ID3v2 meta data from
the ID32 chunk in 3gp files. The priority will be
3gpp -> ID3v2 -> iTunes per field.

Change-Id: I0282ecab58e3e5fa6bd738078d562c8bb8ce00ed
/frameworks/av/include/media/stagefright/MetaData.h
db170bb1cae145d07efc803a3c208963de0c6087 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
/frameworks/av/include/media/stagefright/MetaData.h
cb7032acc963e447adbffcf95ee297643d64e0d7 15-Apr-2013 ztenghui <ztenghui@google.com> Merge "MediaMuxer prefer not to use the MPEG4Writer in real time recording mode." into jb-mr2-dev
8f1efee1c17e997af5ea3c46c62b3ae106b18264 15-Apr-2013 ztenghui <ztenghui@google.com> Merge "MediaMuxer prefer not to use the MPEG4Writer in real time recording mode." into jb-mr2-dev
e756d9753c7cffe2e9731a31fa98a3e8f37151c9 12-Apr-2013 ztenghui <ztenghui@google.com> MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.

By default, MPEG4Write will keep running in real time recording mode.

bug:8598944

Change-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf
/frameworks/av/include/media/stagefright/MetaData.h
de05c8eab188e98798f2b9c3dfac53dbc18ef584 12-Apr-2013 ztenghui <ztenghui@google.com> MediaMuxer prefer not to use the MPEG4Writer in real time recording mode.

By default, MPEG4Write will keep running in real time recording mode.

bug:8598944

Change-Id: Idf7fbd4e0feb7763660a74279ba8817b79098aaf
/frameworks/av/include/media/stagefright/MetaData.h
5544c66ba0aa789a997b376df503a5ffae425dc7 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
/frameworks/av/include/media/stagefright/MetaData.h
ec77122351b4e78c1fe5b60a208f76baf8c67591 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
/frameworks/av/include/media/stagefright/MetaData.h
e9810fae2ca6620337b75a787786cc0ea52adecd 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
/frameworks/av/include/media/stagefright/MetaData.h
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
/frameworks/av/include/media/stagefright/MetaData.h
0dff606f42292b8a31b9eee842877f9875279dab 02-Aug-2012 James Dong <jdong@google.com> Allocate buffers before calling start on its source in OMXCodec::start() for encoder case

o This makes it possible to configure the source to use the same number of input buffers
as requested by the video encoder, before the source starts. As a result, hardcoded
number of video buffers for camera source, for instance, can be avoided.

o related-to-bug: 6920805

Change-Id: I13d2c308dce34967768cd407f02988e92ef10a89
/frameworks/av/include/media/stagefright/MetaData.h
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
/frameworks/av/include/media/stagefright/MetaData.h
f69e53033f23f9f70fcdb28a3c2e650de0147459 18-Apr-2012 Andreas Huber <andih@google.com> Some refactoring and cleanup of now obsolete crypto fields.

codec commandline tool no longer supports decryption.

Change-Id: I7b10be6524631b20ac5d361d47949b00addf4a93
/frameworks/av/include/media/stagefright/MetaData.h
5892e3e173f20e01956f318ae7dce43d46c5fc1d 12-Apr-2012 Andreas Huber <andih@google.com> Add metadata keys to communicate encrypted fragments and associated info.

Change-Id: I90a27c9bbe649328b88144b161c420916673846f
related-to-bug: 6275919
/frameworks/av/include/media/stagefright/MetaData.h
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
/frameworks/av/include/media/stagefright/MetaData.h
feba11fd788c99b0b63e0bce724730817688d82f 21-Mar-2012 Marco Nelissen <marcone@google.com> Add MetaData::dumpToLog

Utility method for dumping the content of a MetaData object to the log.

Change-Id: I2d91b991e1d9fed2215e8995a73c2b1854205074
/frameworks/av/include/media/stagefright/MetaData.h
b636abde14f2612ea236257846b9ab15d87d4623 19-Mar-2012 Marco Nelissen <marcone@google.com> Parse mp3 encoder padding/delay

Get the mp3 encoder padding and delay from a XING frame or iTunSMPB tag.

Change-Id: Icde598c8857d7e7c187a718f478ee9799d6a1b8a
/frameworks/av/include/media/stagefright/MetaData.h
786618ffe881aceb64d65a6a2e2d76ede6e01ec0 02-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Add channel mask in AudioSink

Add support for specifying a channel mask when opening an AudioSink.
This parameter does not replace the channel count parameter in order
to not have to duplicate the logic to derive a mask from the
channel count everywhere an AudioSink is used without a known mask.

A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will
be automatically derived from the number of channels.

Update existing AudioSink implementations to use the channel mask,
and users of AudioSink to specify the mask if available, and
CHANNEL_MASK_USE_CHANNEL_ORDER otherwise.

Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
/frameworks/av/include/media/stagefright/MetaData.h
4948818cb91176df74c972ac27b2f392b5d148bc 09-Nov-2011 James Dong <jdong@google.com> Add support for retrieving location information in mp4/3gpp files

Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
/frameworks/av/include/media/stagefright/MetaData.h
0bb6b4c5da2451ee0973372b0a3858b15c742689 30-Jun-2011 Andreas Huber <andih@google.com> Support a "secure input buffer" mode for use by Widevine DRM in OMXCodec.

Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
/frameworks/av/include/media/stagefright/MetaData.h
3b573f7bf1c5736d500e39013b8d32478a1429e6 01-Jun-2011 Gloria Wang <gwang@google.com> 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
/frameworks/av/include/media/stagefright/MetaData.h
965e4239ca1cf6c824c1f8ce23116f9ba8cf6ebd 08-Jun-2011 James Dong <jdong@google.com> Add B frame support for MPEG4Writer

o requires the support of negative ctts duration values (ctts version 1)

Change-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf
/frameworks/av/include/media/stagefright/MetaData.h
2cf9c5073ca3342ee52673ad68763fadd2c2be79 18-May-2011 James Dong <jdong@google.com> Revert "Add const to the finders method in MetaData.cpp"

This reverts commit 78fed171d9d62b25aa846d7373a7040e3fd2241e.

Conflicts:

include/media/stagefright/MPEG4Writer.h

Change-Id: Ie6f497f67a473ad95b50bb949c1aa49e1804bac3
/frameworks/av/include/media/stagefright/MetaData.h
4650ff0e86f9e815e3152a806a06c700418d071d 09-May-2011 James Dong <jdong@google.com> Add const to the finders method in MetaData.cpp

o also fixed the MPEG4Writer writeFtypBox() to take a const pointer to MetaData

Change-Id: Iaecdbe6aeab345f6dc72aac0d19f9704b6e0d28a
/frameworks/av/include/media/stagefright/MetaData.h
7a1e3e81264189e23a1db2b174e1b5a5d4c7d1c3 04-May-2011 Gloria Wang <gwang@google.com> Initial CL for the timed text support:
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever

Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
/frameworks/av/include/media/stagefright/MetaData.h
244ba87d20aeb29c9cad727820fa1e803ec3643c 12-Feb-2011 James Dong <jdong@google.com> Make available h263 DSI information from MPEG4Extractor

bug - 3446863

Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
/frameworks/av/include/media/stagefright/MetaData.h
b45c01c2b8588ff431b511151666a55a39f0a6ae 16-Jan-2011 James Dong <jdong@google.com> Fix the presentation video resolution when it is different from the actual image resolution of the video.

bug - 3352413

Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
/frameworks/av/include/media/stagefright/MetaData.h
11f8109ad8646d3acd9a0987613229cde59d52c1 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
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
/frameworks/av/include/media/stagefright/MetaData.h
f5ab57c2d5e02af7483c94eddb177e4f5c9e9892 22-Nov-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 12:57:04 2010 -0800

set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer.

Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42

commit 4767b52bee3a54ae117a8708d6832276a44e6a6a
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 11:14:57 2010 -0800

info->mMediaBuffer may still be NULL at this point...

Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f

commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 10:55:12 2010 -0800

QCOM's YVU420 color format conversion has now been tested.

Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67

commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 09:59:50 2010 -0800

Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.

Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc

commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:11:06 2010 -0800

Revamped Software Renderer respects the crop rectangle.

Removed obsolete ADRENO support code.

Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535

commit 8abbc6a5608bff650f968540f24a2eab75f254ed
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:10:41 2010 -0800

The metadata retriever now respects the crop rectangle while capturing a video frame.

Change-Id: Id3377176060086d16717f62c77ce26fabe899050

commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:09:50 2010 -0800

Changed ColorConverter APIs to be more general.

Clients can now refer to crop rectangles in both source and destination.

Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04

commit 273184303d54a54febd3e9c3dd4df30507ea78b5
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 15:04:06 2010 -0800

The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg

Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4

commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 14:36:55 2010 -0800

The AVC software decoder now properly advertises the cropping rectangle.

Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b

commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 13:40:39 2010 -0800

OMXCodec now signals a format change if the cropping rectangle changes.

...and puts the cropping info into its output format.

Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2

commit efe0323947029df1c502599ccc288c8d676dfd31
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 11:29:39 2010 -0800

Stagefright's MetaData object now supports rectangle items.

Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504

Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
/frameworks/av/include/media/stagefright/MetaData.h
393410a441b6d06daf286ed496470e9d6b2b6ca8 11-Nov-2010 James Dong <jdong@google.com> Separate the key for audio sampling rate and video frame rate in MetaData.h

Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
/frameworks/av/include/media/stagefright/MetaData.h
30db2709395c73fb3b4ee334119ceba68c95ab13 09-Nov-2010 James Dong <jdong@google.com> Fix a build break due to the missing kKeyRotation

Change-Id: I6bf030c946abe7a95f8f7bc464e6507fb02cf39c
/frameworks/av/include/media/stagefright/MetaData.h
aceaaf303422bbe3a7b8d9cdb96495dbf8109c23 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 965f960e to master

Change-Id: I63cec8ffb3593216da1de03428134d89e75b9338
a9741a9232c81eaf59179acef91f5be46c42264e 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 9084631d to gingerbread-plus-aosp

Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
dcd25efb46c41c8d24a0a9cf61fb57f84149709e 22-Jun-2010 Gloria Wang <gwang@google.com> DRM framework support:
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
DRM audio/video playback

Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
/frameworks/av/include/media/stagefright/MetaData.h
6a9da9fc558263548ebfbae2cbf177eb7454a41b 07-Oct-2010 Jamie Gennis <jgennis@google.com> Add decode-to-ANativeWindow support to Stagefright.

This change adds support to Stagefright for doing OMX video decoding directly
into buffers dequeued from an ANativeWindow. It does this by registering the
dequeued buffers with the OMX component using an Android-specific OMX
extension, and then exchanging buffers between the OMX component and the
ANativeWindow.

Change-Id: Ida66f836503255a68d378c6903d96dfe9747ce87
/frameworks/av/include/media/stagefright/MetaData.h
2b82e9652ba049e754c2cc74e381282f231d5fbf 07-Oct-2010 Andreas Huber <andih@google.com> On this particular device the hardware video decoder spits out buffers that don't actually contain our video data, so we cannot use them to restore the video frame after suspend/resume.

Change-Id: I1b8fe68c1766299844fe84ebbff49cb8b3e4cc7c
related-to-bug: 3070094
/frameworks/av/include/media/stagefright/MetaData.h
db6222212528637d8f2afa7f49fc3c8c915bafbe 28-Sep-2010 Andreas Huber <andih@google.com> Vorbis files may have more samples encoded that should be used, i.e. we have to trim samples at the end of the stream. This is crucial for proper looping of some audio files.

related-to-bug: 3036592
Change-Id: Ib142b171c829ed74156c0281d9d4543fcc96c802
/frameworks/av/include/media/stagefright/MetaData.h
3c3763d2ee1cd1fba7fe522fbaf0faca315d8c2a 09-Sep-2010 James Dong <jdong@google.com> HW audio encoder expects timestamp via kKeyTime from each input buffer

- This fixes media server crashes on droid

Change-Id: I7191cadc5275107425ec3ee3d437b2c5295858dc
/frameworks/av/include/media/stagefright/MetaData.h
8ae49d87b98d57d6758b0c51b95e28a6581a79f1 03-Sep-2010 Andreas Huber <andih@google.com> Ogg files can be tagged to be automatically looping, this setting always overrides the MediaPlayer's setLooping setting.

Change-Id: Ifb564c6cdf6137eac14869f9ca7d471f05a5556a
related-to-bug: 2974691
/frameworks/av/include/media/stagefright/MetaData.h
b4d5320bda29cd9694461c9b61d0211f801ff0af 02-Sep-2010 James Dong <jdong@google.com> Remove unused/debugging code from MP4 file writer

o also makes nal length in the recorded file modifiable at runtime

Change-Id: I731b4dde7070d8d9628b36b523a5b2c011c7c2cf
/frameworks/av/include/media/stagefright/MetaData.h
d707fcb3e29707ca4a5935c294ef0b38eb5aba5f 02-Sep-2010 James Dong <jdong@google.com> 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
/frameworks/av/include/media/stagefright/MetaData.h
e259531ce59ab1f31de5a23124b22536f6a5a767 03-Aug-2010 James Dong <jdong@google.com> 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
/frameworks/av/include/media/stagefright/MetaData.h
39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8 04-Aug-2010 Andreas Huber <andih@google.com> 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
/frameworks/av/include/media/stagefright/MetaData.h
abd1f4f870925d6776dbe4b930b759a1ab6595ca 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
/frameworks/av/include/media/stagefright/MetaData.h
8f5f2fcee5c12d08df71d17017410c50951fc2e3 02-Jul-2010 James Dong <jdong@google.com> Support user-supplied timescales for authoring

- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
/frameworks/av/include/media/stagefright/MetaData.h
145bfe5eb3e08c9689c28f6bf3287a979438b04b 02-Jul-2010 James Dong <jdong@google.com> Allow application to set two more encoding paramters: video profile and level

Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
/frameworks/av/include/media/stagefright/MetaData.h
93d6b102a13afa23bfa80d74c399d93d542e6ad6 25-Jun-2010 James Dong <jdong@google.com> Provide progress status report during authoring

- Track either the number of A/V frames authored, or the time elapsed
- Track the completion of the authoring
- Add multiple camera support for authoring by accepting a camera id parameter
- Set file type based on the OUTPUT_FORMAT requested

Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
/frameworks/av/include/media/stagefright/MetaData.h
2dec2b5be2056c6d9428897dc672185872d30d17 20-Jun-2010 James Dong <jdong@google.com> Enable passing parameters to the MediaWriter at runtime (at start() call).

- estimate the moov box size for mp4 file writer based on the file
size/duration limit and target bit rate.
- can switch to use 64 bit file offset at runtime

rebased

Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
/frameworks/av/include/media/stagefright/MetaData.h
ddcc4a66d848deef6fb4689e64e30cd9bd2684fe 08-Jun-2010 James Dong <jdong@google.com> Remove some hard-coded encoding parameters

Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
/frameworks/av/include/media/stagefright/MetaData.h
ee7ff20e69498ebd53dd9717a0f984188341a75e 07-May-2010 Andreas Huber <andih@google.com> A new OggExtractor/VorbisDecoder combo to support approximate seeking.

Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95
related-to-bug: 2654400
/frameworks/av/include/media/stagefright/MetaData.h
66ac4df65516ebfd0e500bfca75dc4b5ef8d674e 11-Feb-2010 Marco Nelissen <marcone@google.com> Add support for "album artist" tag.
/frameworks/av/include/media/stagefright/MetaData.h
6c8a9a4132337a3419a72a735f0b40df0b82061f 08-Feb-2010 Marco Nelissen <marcone@google.com> Add support for the TPOS/TPA (disc number) id3 tag.
/frameworks/av/include/media/stagefright/MetaData.h
72b8c5ae6a5f97a4fcfc6d23d33159d6ae50179c 20-Jan-2010 Andreas Huber <andih@google.com> Support for 'iTunes-style' metadata in .mp4 and .3gp files.

related-to-bug: 2368967
/frameworks/av/include/media/stagefright/MetaData.h
bd4bc59262df90dc85752684a1d4a92833a535a3 13-Jan-2010 Andreas Huber <andih@google.com> More metadata support.
/frameworks/av/include/media/stagefright/MetaData.h
fc9ba09e3bb368f823d473f5e2bb9aa32dba6289 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
/frameworks/av/include/media/stagefright/MetaData.h
b841f14f8e51f2365945281fbfa54ef6a1b1b5a6 12-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AMR NB encoder based on PV source code.
/frameworks/av/include/media/stagefright/MetaData.h
30ab66297501757d745b9ae10da61adcd891f497 17-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800

Some more tweaks to AVC encoding on sholes.

commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800

Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.

commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800

Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.

commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800

Allow switching between the PV recorder implementation and one supported by stagefright.

This is controlled through the property "media.stagefright.enable-record".
/frameworks/av/include/media/stagefright/MetaData.h
7e04dcf8d6784dd56f53aa90bf34431ab4f0710c 22-Oct-2009 Andreas Huber <andih@google.com> Extract video thumbnails from the largest sync sample among the first 20.

Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
/frameworks/av/include/media/stagefright/MetaData.h
48c948b1137e7bbdb161b51908657ab72ac5e2da 08-Oct-2009 Andreas Huber <andih@google.com> Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
/frameworks/av/include/media/stagefright/MetaData.h
e5adbeee3401915ff8e1a983396ce3554436b11c 02-Sep-2009 Andreas Huber <andih@google.com> Some work to make audio encoding work.
/frameworks/av/include/media/stagefright/MetaData.h
7530e9c708275c273c134c36c68179f511c1940e 20-Aug-2009 Andreas Huber <andih@google.com> Dynamically allocate a pair of MemoryHeaps according buffer count/sizes required by the OMX component, respect JPEG compressed size.
/frameworks/av/include/media/stagefright/MetaData.h
dbc03445db2bbf83b64f0c0a5dc62e61408864d7 19-Aug-2009 Andreas Huber <andih@google.com> The PV AVC software decoder expects each fragment of a NAL unit to be handed to the decoder unframed.
/frameworks/av/include/media/stagefright/MetaData.h
8b938cdab5bd3d074d9b41bc2915fcfc11e47f27 31-Jul-2009 Andreas Huber <andih@google.com> The IOMX interface now instantiates IOMXRenderers to hide the details of hardware accelerated blitting.
/frameworks/av/include/media/stagefright/MetaData.h
20111aa043c5f404472bc63b90bc5aad906b1101 15-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 8d179995654c19d9094e51989dc84ed0deba6e04
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 16:30:40 2009 -0700

Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define.

commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 14:06:00 2009 -0700

OMX::list_nodes API, stagefright --list now lists all available OMX components.

commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 16:04:29 2009 -0700

Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4.

commit d363dd74f611577567c66d25900d6264c306468c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:59:58 2009 -0700

Make non-socket communication in IOMX the default.

commit e89fc82c4fd138c88339887baf72f1d0e67f8660
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:32:33 2009 -0700

The OMX interface now optionally supports communication through the binder only (no sockets involved)

commit 28611de11223fba65299787cdd33f7fdbd6a60a3
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 15:09:13 2009 -0700

Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h}

commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 12:21:46 2009 -0700

Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit...

commit ae209a2b5d09caed5dd383c910f238926aaa8fc6
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 09:33:29 2009 -0700

Simple video decoder performance test in "stagefright" commandline tool.

commit 59fe7840111d6f46dd3c48f4950146aed962dbd2
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 16:05:12 2009 -0700

StagefrightPlayer: Properly publish video dimensions by notifying the listener.

commit 51b6598f0e47be5e12d77f1d14e111e71c593638
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 11:38:15 2009 -0700

MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio.

commit 31ce53375d748da3e7d30e993ce89dae97fd65ea
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 17:23:37 2009 -0700

Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently.

commit a23e312b10631a5d47f5c9831205beac6b84ab36
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 15:10:13 2009 -0700

IGenesisPlayer and friends are no more, java interface now uses local playback instead
of playing inside the media server process.

commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 13:17:03 2009 -0700

MP3 extractor now supports seeking (only fixed bitrate files currently supported)

commit 96a790405763bfa738d1c6845c99a9fdf579b66f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 7 10:53:54 2009 -0700

Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build.

commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 16:40:02 2009 -0700

Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer.

commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 12:18:29 2009 -0700

Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files.

commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 2 12:25:03 2009 -0700

MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning.

commit 732aa0a87c7e8d8a10776b275712649954962414
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:58:56 2009 -0700

Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition.

commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:43:02 2009 -0700

Proper support for end-of-stream signalling of MediaSources.

commit afb038f2dc594c742e554b2d42b86ffc7434e3fc
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 30 16:48:03 2009 -0700

Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer.

commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 13:27:52 2009 -0700

I don't think prepare should automatically start the player.

commit 11eb9b49dc4a0819d366682817cba68613f4fe12
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 11:09:22 2009 -0700

Somewhat better timing information implemented in the MP3Extractor.

commit cab023a1751735c0ed26c8493498a91d8644c6c9
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 25 15:41:56 2009 -0700

Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass.

commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:41:12 2009 -0700

Make sure we only allocate surface buffers if there is video to be played.

commit 7f85e7d92fe81740e102e09905b19354f4ac178e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:19:32 2009 -0700

Clean up a failed merge and implement stub for new API in MediaPlayerBase.

commit f0e9d494a4c03402ea7b54891848ca5a50c421b2
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 15:38:03 2009 -0700

Support yuv420->rgb565 conversion if hardware color conversion is unavailable.

commit 87223248b3099cd5261b94169f84cfd1eba56a8f
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 09:35:56 2009 -0700

Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions.

commit e07e651f0325892b797f3eb64dbeca0f317afdfd
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 16:26:42 2009 -0700

Enable assertions in HTTPDataSource.

commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:39 2009 -0700

delete foo.

commit 7f05845dda496e7defee284d32509d127e785784
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:08 2009 -0700

added foo.

commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 11:44:31 2009 -0700

Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t.

commit d6286a6bbca639952491448fa3e609b775a8a814
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 17:11:49 2009 -0700

send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too.

commit 8d657e004677a7c5dae4479e8519bcaa94c18aad
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 11:58:55 2009 -0700

Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop.

commit 279fede6ba35cbc37c35616c53406bf2c9720202
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 10:58:11 2009 -0700

Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects.

commit 0f717f15a6328efd3f34082929cd8ad2351095a9
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 08:44:12 2009 -0700

Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping.

commit 0cfb63e33270daf9b215214608ab383f93a31823
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 14:25:48 2009 -0700

Massive rename.

commit 30ed8f476c4431a5275538958b3e281bd17d5eab
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 13:52:41 2009 -0700

send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this.

commit b832d04011b2dd8a9632eb7e575bfe1addd1270d
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:21:17 2009 -0700

MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer.

commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:01:01 2009 -0700

Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files.

commit ddb7529b4de4828db51432bd405fddd76cfa3b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 16:30:25 2009 -0700

More fudging with A/V sync...

commit 1e5a4d8df08237b58c06c6527a33152ae931addf
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 11:54:20 2009 -0700

API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used.

commit 0953c65232aa9753d17d2e25c5f5526eb810cf13
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 16:59:19 2009 -0700

Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose.

commit 2085b8ea9484a21fa11f94194a27405d413aeecc
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 10:17:01 2009 -0700

Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped.

commit 471f143458a8a0d93cb1bf9568c63c3967279dc6
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 17:32:27 2009 -0700

Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to.

commit 4010d371dbe62ce4971e13437776cba32cb0bb3d
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 16:01:07 2009 -0700

Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position.

commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 15:33:58 2009 -0700

Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync.

commit 08bb46fa61d12e852a424698ddb0c90700328f6e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 11:57:24 2009 -0700

Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder.

commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 17:12:03 2009 -0700

MediaSources now publish their format.

commit 7e429a26c57bf936e1a08035d2d11839f9f00310
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 16:38:29 2009 -0700

MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted.

commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 14:39:55 2009 -0700

Sync sample seek support.

commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 13:51:11 2009 -0700

Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek.

commit e57781d3b2c985a74cd8b60e7c8f2d576459d038
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 10:52:20 2009 -0700

First shot at support for seeking a MediaSource. Sync frames are not properly handled yet.

commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 16:23:38 2009 -0700

Preliminary support for camera input.

commit f8ebafa65d10d5a06944de6b2e2992a33121b857
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 12:13:47 2009 -0700

Allow NativeMediaPlayer access to Surface's getISurface() method.

commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:38:25 2009 -0700

Header files are now in their own genesis2 hierarchy below frameworks/base/include.

commit f49b8b234b8f6ce83148787eef540dd920f04aa6
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:22:03 2009 -0700

moved MPEG4Writer into libgenesis2.

commit 5224254919dac4728677335ea60429fa16f518b4
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:13:38 2009 -0700

Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl.

commit f9a9d84f7e0465ef5d1938a068655ba39527cf99
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 16:43:11 2009 -0700

Support for getPosition() and getDuration().

commit 3206cc5140bcbc88be039f8d94b954af63e69752
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 15:37:45 2009 -0700

Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying()

commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 13:49:50 2009 -0700

Proper disconnection from the OMX service.

commit cdcf47a2c31599109ee42277c7fa14af3c600091
Author: Andreas Huber <andih@google.com>
Date: Tue May 26 17:27:06 2009 -0700

New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now.

commit 0586af20ac9ae0403dd190bafd290b0f90549723
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 15:53:19 2009 -0700

Fix a buffer overflow error by adding padding in case we need to de-frame AVC data.

commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 13:35:30 2009 -0700

Support for http URIs in MediaPlayer, compensate for AudioTrack latency.

commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 11:33:25 2009 -0700

Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second.

commit 1f0268f4f14ad5215668f34e06a420850174d665
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:33:16 2009 -0700

and foo.txt is gone again.

commit 0feca4e0919f345704d78ec78894bac5027bd5ed
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:28:49 2009 -0700

added foo.txt

commit 9c7d04b35cdc895a2de3602dc46522f608bd205f
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:28:04 2009 -0700

delete foo again

commit fec3ca1720992cce51b9a92b86b945da88a6b16c
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:27:45 2009 -0700

weird

commit 30a6571302333146e537e537a3a8986245cca87c
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:18:55 2009 -0700

reverse test

commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:18:22 2009 -0700

test

commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 16:37:50 2009 -0700

Use the video ring again for now.

commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 15:42:19 2009 -0700

Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks.

commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 09:56:11 2009 -0700

Fix the build, all binder-related headers have moved and there's a new library libbinde
r to link against now.

commit 23e0a24404d16c898c2c6b3c7495ad303844bc71
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 08:42:04 2009 -0700

Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working.

commit 9cd77adb1ac194197364ffad00a0d7215f458e1a
Author: Andreas Huber <andih@google.com>
Date: Wed May 20 12:31:45 2009 -0700

New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example.

commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 15:40:06 2009 -0700

Make media decoding the default in the genesis2 commandline app instead of shoutcast playback.

commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 11:03:04 2009 -0700

The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid.

commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac
Author: Andreas Huber <andih@google.com>
Date: Thu May 14 12:39:34 2009 -0700

dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder.

commit 380369f54a8027cbc9349305184d6bf527a24efe
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 17:32:00 2009 -0700

Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface.

commit b5cada56b9089a23e0c461352a97dc71e08b424d
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 12:11:06 2009 -0700

Introduction of TimeSource class, clean shutdown of OMX Nodes.

commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 17:11:56 2009 -0700

Helper classes MediaRing and MediaPlayer.

commit 9aaed8739b4bb941473da367fb88f63224d2f1b7
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 14:19:18 2009 -0700

Using mmap to map a file instead of going through FILE* improves performance, who knew?

commit ad097a78bbd002c59193ffdc39b64935928426c7
Author: Andreas Huber <andih@google.com>
Date: Mon May 11 16:42:42 2009 -0700

Added a performance test, refactored AudioDecoder a little.

commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 16:19:29 2009 -0700

No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data.

commit 858955b42c29b8033841a8caaa56c2a449810ef3
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 14:02:38 2009 -0700

Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer.

commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 13:21:45 2009 -0700

Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes

commit 3941fcf87a48dda81683df727dfb1381f62d9184
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 16:37:45 2009 -0700

some refactoring. Most streams play now.

commit d3152862840d4dd39068e5197bec8674f3d55dd5
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 15:37:32 2009 -0700

Misc. changes to support H264 decoding using the qcom hardware decoder

commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 09:28:18 2009 -0700

Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds.

commit fe6a50943f885e065d4061aa727a54417e9f36db
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 14:18:27 2009 -0700

Refactored commandline app instantiation of the decoder.

commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 10:41:14 2009 -0700

Proper audio/video synchronization.

commit 569ee3a23f600f4b6b87c6178c0223b06e97f201
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 09:17:20 2009 -0700

Preliminary support for timestamps.

commit e4e302a89207550d8a7170d8c0afbd9c15047c84
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:13:12 2009 -0700

Another quick hack job to make CachingDataSource thread-safe as well.

commit dfb376a58bd7c09aa04e89558186fcfe13fe696c
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:08:14 2009 -0700

Quick rushjob to make FileSource and SampleTable thread safe.

commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 17:22:04 2009 -0700

Made video decoding work for mpeg4/h263 and mostly(?) with AVC content.

commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 09:26:42 2009 -0700

Getting rid of old sample code to drive the OMXNode binder interface.

commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 16:21:11 2009 -0700

Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder

commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 15:56:19 2009 -0700

Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :)

commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 11:52:48 2009 -0700

Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser.

commit 1470427866b0d3e0ce6848b4edc01c13a09be289
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 30 15:19:31 2009 -0700

Another checkpoint, amr decoding now functional.

commit e612d044439f56331b6a2bc4a88622e04d4d42e7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 12:11:29 2009 -0700

string wrapper around String8, various fixes, shoutcast now works again.

commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 11:08:18 2009 -0700

Initial check-in of OMXNode binder interface.

commit 7880d2957f74c0d7fba7679431ff5adb3780543b
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 10:05:01 2009 -0700

Initial check-in of both libgenesis2 and the genesis2 commandline tool.
/frameworks/av/include/media/stagefright/MetaData.h