1993 Commits

Author SHA1 Message Date
Eric Laurent
1d53b2a177 Fix issue 2876124.
Allow calls to MediaPlayer::notify() in idle state to signal errors from JNI.

Change-Id: I1515fe69766f0a926b76e15c4971317da2acd6a0
2010-08-04 05:38:56 -07:00
James Dong
af3f29e62b Replace CHECK with a failure return value when mCamera->setParameters() fails
if the camera is locked by someone else.

bug - 2827892

Change-Id: I217d4a00f04ebd57b557d3faef28787c14f23ea0
2010-08-03 15:29:20 -07:00
James Dong
3d84280ccc Merge "File writer has a designated writer thread now" into gingerbread 2010-08-03 10:35:55 -07:00
James Dong
a788026fd3 Merge "Fixed a typo in a method name of MediaPlayerPerformance.java class" into gingerbread 2010-08-03 09:59:11 -07:00
James Dong
23796e3b62 Merge "Add lost frame handling in AudioSource" into gingerbread 2010-08-02 18:13:54 -07:00
James Dong
da8073c68e File writer has a designated writer thread now
+ This reduces the file I/O block time for audio/video track processing
- Since the file writer is buffering some output samples, the memory
  usage would go up, depending on how many output samples are buffered.

Change-Id: I780cc5b26f4b53a5efbd643fcf9505dfc19cd4cd
2010-08-02 18:08:02 -07:00
James Dong
a9015bb24f Fixed a typo in a method name of MediaPlayerPerformance.java class
Change-Id: Ice9f931312b738fc62205988891f35907e8733d9
2010-07-30 17:16:19 -07:00
James Dong
f0aa24d91d Merge "Added damr box for AMR (NB and WB) sample entry" into gingerbread 2010-07-30 14:49:23 -07:00
James Dong
c3ae937a95 Add lost frame handling in AudioSource
- Also collect stats on lost audio frames instead of time spent on reading

Change-Id: I6380b143e4fbdcd894491aaae523331e90d0f04f
2010-07-30 14:35:37 -07:00
James Dong
d973a533da Merge "Lower the lower bound for max file duration check" into gingerbread 2010-07-30 14:28:26 -07:00
James Dong
c80218a966 Added damr box for AMR (NB and WB) sample entry
- Some players, like QT, sometimes are picky about the missing sample entry

Change-Id: Ia32d78e48ac9fd8af8285dbc67f0d69142ba98b4
2010-07-30 13:55:18 -07:00
James Dong
8894de6d3e Lower the lower bound for max file duration check
- This fixed a CTS test where 200 ms is being used

Change-Id: Ib598b7b94be54e98a96703c58c5f244bc379cf7d
2010-07-30 12:41:59 -07:00
Jean-Baptiste Queru
154a320069 resolved conflicts for merge of 27eecb70 to gingerbread
Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
2010-07-30 12:08:31 -07:00
Eric Laurent
92e847ed8e Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.
Modified types of some arguments and returned values of the Equalizer class from int to short
to match those defined by OpenSL ES SLEqualizerItf interface.

Also fixed a problem with set properties in equalizer engine implementation.

Change-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8
2010-07-30 09:12:51 -07:00
The Android Open Source Project
27eecb704a Merge branch 'froyo' of git://android.git.kernel.org/platform/frameworks/base into HEAD 2010-07-29 17:45:56 -07:00
Jean-Baptiste Queru
83407b993f fix inaccurate copyrights
Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
2010-07-29 17:41:35 -07:00
Andreas Huber
6dea6f4e71 am 16263d9f: Squashed commit of the following:
Merge commit '16263d9f8cc01392c2f3678b381ce897647c8c81' into gingerbread

* commit '16263d9f8cc01392c2f3678b381ce897647c8c81':
  Squashed commit of the following:
2010-07-29 11:07:49 -07:00
Andreas Huber
16263d9f8c Squashed commit of the following:
commit 4abf16bb04dc9695fedf4007a84f903074312ccd
Author: Andreas Huber <andih@google.com>
Date:   Tue Jul 20 09:21:17 2010 -0700

    Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

    Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
    related-to-bug: 2826841

commit 09c74da63e6ad5cb5dafb70f62696d75d2978967
Author: James Dong <jdong@google.com>
Date:   Sun Jul 18 17:57:01 2010 -0700

    Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.

    Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8

commit f672bf2a782dc7d5fb6325d611a7fe17045dfe9a
Author: James Dong <jdong@google.com>
Date:   Thu Jul 8 20:56:13 2010 -0700

    Enable the support for decoding audio with AAC+ and eAAC+ features

    bug - 282684

    Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b

Change-Id: I012f1179e933b6d1345d2368f357576c722485f7
2010-07-29 09:45:06 -07:00
James Dong
e991e5f334 Eliminate the linear cost associated with mSampleSizes.size()
- The linear cost associated with mSampleSizes.size() call causes the
  CPU load to increase overtime as more and more audio/video samples
  are recorded.

- Other Lists used in the MP4 file writer may have similar issues, but
  the size() call is not made for each output audio/video output sample,
  or the size of the list is bounded (not linear to the total number
  of audio/video output samples). As for now, we can live with the small
  cost (tested with 30 minutes long recording).

Change-Id: I23bd93ea4256cb0be0c1649760e39e6809eb4946
2010-07-28 15:21:59 -07:00
James Dong
7e397842d5 Reduce memory usage by the MP4 file writer
- Don't store timestamp for each output sample
- Don't store timestamp for statistical data collection if the collection of statistical data is not requested

TODO:
1. Reduce CPU load by elimnating the list cost associated with List.size() call.

Change-Id: I590bc17176596a65952c982574b82ee3b15b7d1c
2010-07-28 12:02:57 -07:00
James Dong
5587bb7e37 Merge "Interleave the audio and video by default - default interleave duration is set to 1 second" into gingerbread 2010-07-28 11:58:12 -07:00
James Dong
63299c0387 Interleave the audio and video by default
- default interleave duration is set to 1 second

This can dramatically reduce the memory usage
by the MP4 file writer.

Change-Id: Ia3ff202cabfcd2d3f183065d31e4596617c2dded
2010-07-28 10:08:03 -07:00
Eric Laurent
a4c72acfbc Audio effects: modified command() parameter types.
The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()
function have been modified from int to uint32_t. This is more consistent with their role.

Change-Id: I84d289fc262d6753747910f06f485597dfee6591
2010-07-28 05:49:21 -07:00
Eric Laurent
ca57d1cc89 Audio Effects: added methods to effects java classes to store and load current effect settings in
a single call.

Addional changes:
- Fixed simulator build
- Use effect interface UUIDs from OpenSL ES includes when available
- Added cleanspec rules to remove now obsolete test effect libraries
- Fixed bug in AudioEffect JNI setParameter function.

Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
2010-07-27 00:41:31 -07:00
Eric Laurent
00de721859 Merge "Fixed bug in vlm effect bunde wrapper effect init function." into gingerbread 2010-07-26 10:09:54 -07:00
Eric Laurent
3374105cc0 LVM release 1.04.
Remaining warnings in the code have been removed
Core components support seamless insertion in the audio stream at playtime (Enabling / Disabling the effect).

Change-Id: Icae7085305fad663faeb5a94cb673b41cec5a9f1
2010-07-26 01:57:36 -07:00
Eric Laurent
1c454cc4c7 Fixed bug in vlm effect bunde wrapper effect init function.
The status in the command reply field was not initialized by Effect_command() for
EFFECT_CMD_INIT causing unpredictable failures when initializing an effect.

Change-Id: I7dccb094c9244fad4ed9aea3062a395db295e082
2010-07-26 01:07:38 -07:00
Eric Laurent
021697ad3d Audio effects: lvm bundle wrapper update after first integration tests.
Change-Id: I20cb55282833bd6e3a160e0dae1cc1fcb6b1ca30
2010-07-23 00:54:58 -07:00
James Dong
53d4e0d58e Allows the authoring engine to skip frame.
This is 1st part of the work to allow audio and video resync if
we found out that audio and video are out of sync during authoring

- also fixed a problem in AACEncoder::read() where the buffer acquired
  from the buffer group does not release when error out at
  reading from source.

Change-Id: I8a2740097fcfdf85e6178869afeb9f3687a99118
2010-07-22 14:51:53 -07:00
Andreas Huber
4e4173b0af Various changes to improve rtsp networking, reduce packet loss and adapt to ALooper API changes.
Change-Id: I110e19d5ce33e597add3ffbd3e3ff3815862396d
2010-07-22 09:21:05 -07:00
Andreas Huber
8138e841a5 Merge "Support finer seek control on MediaSources." into gingerbread 2010-07-21 10:36:08 -07:00
Andreas Huber
6624c9fd0b Support finer seek control on MediaSources.
related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
2010-07-21 08:51:29 -07:00
Eric Laurent
7070b36549 Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
2010-07-21 06:28:01 -07:00
James Dong
d7514ec6eb Merge "Progress status notification" into gingerbread 2010-07-20 14:29:39 -07:00
Eric Laurent
22a2d7186d Merge "Audio policy manager changes for audio effects" into gingerbread 2010-07-20 11:25:35 -07:00
Eric Laurent
8ed6ed0b62 Audio policy manager changes for audio effects
Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.

Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.

Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
2010-07-20 10:31:57 -07:00
Andreas Huber
cc14a8393b Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841
2010-07-20 09:25:38 -07:00
Andreas Huber
faf1d46a60 Merge "Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled." into gingerbread 2010-07-20 09:18:58 -07:00
James Dong
85edea7958 Progress status notification
- Keep track of per-track progress

Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
2010-07-20 08:39:57 -07:00
James Dong
0c5f2ec25f Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.
Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8
2010-07-19 12:41:35 -07:00
Eric Laurent
0d7e048cf2 Fixed problems in audio effect volume control.
Fixed the following problems in audio effect volume control in AudioFlinger:
- Make sure that the volumes returned by EffectChain::setVolume_l() are correct even is
no change is detected since last call
- Do not use isEnabled() to validate volume control but mState >= ACTIVE instead as the volume control
must be also active in STOPPING and STOPPED states.

Change-Id: Id62da3164fad500ee8a5efd6cd78c77e8fdcb541
2010-07-19 06:31:30 -07:00
James Dong
faf775e772 Fix simulator build (1st attempt)
Change-Id: I65a824c17929170b7b2bc75a13e756e92d8fe50a
2010-07-18 14:47:27 -07:00
Eric Laurent
2c87e9c923 First submission of audio effect library from NXP software.
This CL contains the first open sourceable version of the audio effect library from NXP software.
The effects implemented are:
- Bass boost
- Virtualizer (stereo widening)
- Equalizer
- Spectrum analyzer

Source file for the effect engines are located under libeffects/lvm/lib
The wrapper implementing the interface with the audio effect framework in under libeffects/lvm/wrapper

The code of other effect libraries has also been reorganized fo clarity:
- the effect factory is now under libeffects/factory
- the test equalizer and reverb effects are under libeffect/testlibs
- the visualizer is under libeffects/virtualizer

Change-Id: I8d91e2181f81b89f8fc0c1e1e6bf552c5809b2eb
2010-07-17 06:33:00 -07:00
James Dong
42ef0c715d Initial check-in for software m4v_h263 encoder
Change-Id: I4b49fa5c3a5e6e21cfd2419441d98dd784046367
2010-07-15 13:28:21 -07:00
James Dong
d6a85a2141 Merge "Support user-supplied timescales for authoring" into gingerbread 2010-07-15 11:16:08 -07:00
Mathias Agopian
08e83bb3b7 move native services under services/
moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14 17:59:35 -07:00
James Dong
52d13f01a6 Support user-supplied timescales for authoring
- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
2010-07-14 17:29:17 -07:00
Jean-Michel Trivi
97eb728aef Use the OpenSL ES definition of SL_IID_EQUALIZER for the EQ
effect UUID instead of defining it locally.

Change-Id: Id6018fef20d286899cf7503fec3521dcd56db7e0
2010-07-14 10:09:31 -07:00
James Dong
70c6c9a1e2 Fix simulator build
- missing header file <string.h>
- need to define -D__arm__

Change-Id: I18d2f1908684150784cf728234b5aedbc02447d1
2010-07-13 13:29:33 -07:00
Eric Laurent
8e886be413 Merge "Modifications in audio effect engine state management." into gingerbread 2010-07-13 12:29:17 -07:00