2108 Commits

Author SHA1 Message Date
Andreas Huber
e619a9da44 Merge "Start playing live streams from the start, no the middle..." into gingerbread 2010-10-01 11:35:17 -07:00
Andreas Huber
a424f7c628 Start playing live streams from the start, no the middle...
Change-Id: Ie01ba1250b51155cb1fb32fc3340189a16c01476
related-to-bug: 2368598
2010-10-01 11:28:44 -07:00
Andreas Huber
21d28a2a13 Remove development-only code.
Change-Id: Ic2ca0efb631eb779ca157fb01b02aa19a1222c06
related-to-bug: 2368598
2010-10-01 11:19:26 -07:00
Andreas Huber
b72c7e36a2 Squashed commit of the following:
commit 46744c7697f29aec71aed8de3c95ce035c284d97
Author: Andreas Huber <andih@google.com>
Date:   Thu Sep 30 16:44:57 2010 -0700

    better separation of access units

    Change-Id: I5a9e2138aed341f0bcf22cfe368a15ca5ea5a73c

commit d34952ac0feb1ae722ff65824d7353335502219b
Author: Andreas Huber <andih@google.com>
Date:   Thu Sep 30 15:35:01 2010 -0700

    Support for ES packets that do not start on PES packet boundaries.

    Change-Id: I2cf012833948eddfb20b16a1901206cf22ce71e4
    related-to-bug: 2368598

Change-Id: Ib9329bd6bb7149b5a6e2483788a96b1b158952fc
2010-10-01 10:51:41 -07:00
Eric Laurent
4712baab81 Issue 3032913: improve AudioTrack recovery time
This issue showed that when an AudioTrack underruns during a too long period
of time and is therefore disabled by audioflinger mixer, it takes an additional
delay of up to 3 seconds to recover.
This fix adds a simple mechanism to recover immediately when the client application
is ready to write data again in the AudioTrack buffer

Also throttle warnings on record overflows

Change-Id: I8b2c71578dd134b9e60a15ee4d91b70f3799cb3d
2010-09-30 17:21:23 -07:00
Chia-chi Yeh
d6877fa497 Merge "AMRNB: use Frame_Type_3GPP defined in frame_type_3gpp.h instead." into gingerbread 2010-09-28 21:11:27 -07:00
Chia-chi Yeh
081833d791 AMRNB: use Frame_Type_3GPP defined in frame_type_3gpp.h instead.
This allows gsmamr_enc.h and gsmamr_dec.h to be included in the same
file without conflict definition.

Change-Id: I1c8dac235c122735ba14a1af2fda48c0f8d9f87b
2010-09-29 12:00:18 +08:00
Eric Laurent
4fd3ecc1f0 Fix several audio effects problems.
Fixed the following issues in LVM effect bundle wrapper:
- memory leaks in EffectCreate() in case effect creation fails at various stages
- Added saturation when accumulating to output buffer
- Fixed problems with enabled effects count when an effect is released while enabled
- Do not allocate temporary buffer for accumulation each time process() is called

Fixed the following issues in effects framework (AudioFlinger)
- Release effect synchronously in the library when deleted from effect chain
- Do not call the effect process function if no tracks are present in the same
audio session

Change-Id: Ifbd80a163415cfb3c0a337c12082853ea45d9c91
2010-09-28 14:23:39 -07:00
Andreas Huber
88a995edcf Merge "Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content." into gingerbread 2010-09-28 13:23:26 -07:00
Andreas Huber
ad3fcfe845 Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.
Change-Id: I4909fdf19518dbabb6c340e2a31b50dfe6c5b067
related-to-bug: 3029947
2010-09-28 13:13:38 -07:00
Andreas Huber
be04506195 Merge "Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens." into gingerbread 2010-09-28 12:02:35 -07:00
Andreas Huber
2b359ed5b5 Instead of constantly polling the AudioPlayer to see if it reached EOS or finished seeking, initiate the notification from the AudioPlayer when the event happens.
Change-Id: I43875b6adaf96d4e982ef3dfc3d6c8f7034ac51d
related-to-bug: 3036592
2010-09-28 11:56:39 -07:00
Andreas Huber
4769f57948 Merge "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." into gingerbread 2010-09-28 11:46:41 -07:00
Andreas Huber
3a9cc8cef4 Merge "Squashed commit of the following:" into gingerbread 2010-09-28 11:27:33 -07:00
Andreas Huber
38ae220bb7 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
2010-09-28 11:26:03 -07:00
Dave Sparks
124a346c7a Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.
The dump function whitelists several directories as filters to the output.
The mount point changed for SD card in Froyo, and we started filtering files
that were open on the SD card. This fix changes the filter for the SD card,
and adds the directory for data files as well.

Change-Id: I61b67c3d11d93dbd530e8b3566000e79bc037137
2010-09-27 17:04:05 -07:00
Andreas Huber
c751eccad3 Squashed commit of the following:
commit 29a4d3effb05a2e074cb0693316ab1977baeb0b6
Author: Andreas Huber <andih@google.com>
Date:   Mon Sep 27 12:01:32 2010 -0700

    Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).

    Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84

commit f4dec4c3899f3be393508e180d6c07e249d3335e
Author: Andreas Huber <andih@google.com>
Date:   Mon Sep 27 10:36:31 2010 -0700

    More reliable identification of MPEG2 transport streams. Don't keep scanning forever in case the stream does not have both audio and video tracks.

    Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7

commit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2
Author: Andreas Huber <andih@google.com>
Date:   Mon Sep 27 08:23:39 2010 -0700

    test code

    Change-Id: I16560a17661407d06497f99ff88230724bb898af

commit 64d988b24f49f179a90fa677be11c823959e734b
Author: Andreas Huber <andih@google.com>
Date:   Thu Sep 23 14:42:52 2010 -0700

    First shot at supporting writing to an MPEG2 transport stream.

    Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74

Change-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc
2010-09-27 12:04:43 -07:00
James Dong
bf47092e1e Merge "Fix track duration calculation if the start timestamp is non-zero" into gingerbread 2010-09-27 10:08:52 -07:00
James Dong
dacebe62c6 Fix track duration calculation if the start timestamp is non-zero
o Updated the comments in the patch
o Added some additional checks on the timestamp

Change-Id: I8ad81eb6bfe358c1db5245cbb52efc905cdc234c
2010-09-27 10:02:15 -07:00
Andreas Huber
abaabb2c79 Merge "Support other kinds of HTTP redirect in NuHTTPDataSource" into gingerbread 2010-09-27 09:20:58 -07:00
Andreas Huber
ab2116c351 Support other kinds of HTTP redirect in NuHTTPDataSource
Change-Id: I3268a94cfb48cee9caa8914804d7907ff91d8a8e
related-to-bug: 3037686
2010-09-27 09:16:44 -07:00
Eric Laurent
4d3fb50782 Fix error in AudioEffect command status reporting.
AudioEffect::command() should not interpret the status
returned in pReplyData unless the command is ENABLE or
DISABLE.

Also fixed:
- bug in Visualizer::getWAveForm() status reporting.
- wrong initialization value for capture buffer in visualizer engine.

Change-Id: I60fb0011f9dba96ee74661dec1e8ef441edcaf35
2010-09-24 15:24:54 -07:00
Eric Laurent
2fb43ef8c0 fix problem in AudioEffect JNI setup.
There is a problem in AudioEffect and Visualizer native_setup() methods
that causes a crash in the application after the mediaserver process
has crashed and restarted.
The problem is that the native AudioEffect/Visualizer constructor is
called while the JNI is in critical state after calling
GetPrimitiveArrayCritical(). As the mediaserver process just restarted, the
first call to AudioSystem will cause the binder IAudioflinger interface to
be reteived and a callback send to AudioSystem JNI to clear the mediaserver
error state. This will call env->FindClass() and crash due to the JNI being
in critical state.

Also fixed a similar problem in AudioTrack JNI

Change-Id: I4a9026a3e26c7f78d9b4b4bec1aac90fbee2ab62
2010-09-24 13:18:14 -07:00
Andreas Huber
7b2ed5d7d6 Merge "Depending on our preference to write 2-byte or 4-byte NALs, patch the codec specific data 'avcC' accordingly." into gingerbread 2010-09-23 14:16:48 -07:00
Andreas Huber
e7635933b6 Depending on our preference to write 2-byte or 4-byte NALs, patch the codec specific data 'avcC' accordingly.
Change-Id: I1423923fafbcac6911218277e2bbfa068e49dcc6
2010-09-23 14:08:32 -07:00
Eric Laurent
1a5149e5d7 Fix issue 3022800.
- Created sub-package android.media.audiofx for audio effects.
- Hid AudioEffect class contructor, methods and variables not needed by
applications
- Added more javadoc comments for AudioEffect Class

Change-Id: Ibbb40d4e714bb248aa32cf82d7763d74efae96d1
2010-09-23 11:04:03 -07:00
James Dong
903fc22106 Ignore errors from correction parameter query and config for M4v and H263 encoders
This feature is not essential for camcorder application

Change-Id: Id560632207dcf24fe361280ebe8178ea7332f22d
2010-09-23 10:12:45 -07:00
James Dong
1e0e166ebe Use the advertised profile and level from M4V and H263 video encoders
This is already the case for AVC video encoder

Change-Id: I9cc97a03ab457b4bd0b21832c09f6d0aa7f5fc39
2010-09-22 17:42:09 -07:00
Eric Laurent
3efbc55545 Merge "Fix more audio effects auto tests" into gingerbread 2010-09-22 15:53:49 -07:00
Andreas Huber
9c37da7721 Raise the amount of memory set aside for omx buffer allocations in the test harness to accomodate the new requirements of some codecs.
Change-Id: I73974a336852974e2fb95a9626c1a96f296449eb
2010-09-22 15:27:20 -07:00
Eric Laurent
ec1e9c7a44 Fix more audio effects auto tests
commit 672c0dc3a04cb149691603342c319994e21235cb broke the energy probe
used by auto tests to verify that an effect is actually enabled.
The probe is based on the Visualizer which now scales the capture to maximise
the signal level: this prevents from detecting level changes between subsequent captures.
Playing sound at a lower volume moves the signal level out of the range where
scalling occurs and makes comparison possible again.

Change-Id: Ib56dec6e619c6d778dcc3ca6453091bf6136f290
2010-09-22 13:49:52 -07:00
Andreas Huber
55f8aee55c Make sure we drain the avc software decoder's output queue once we run out of input data.
Change-Id: I3d92ebae4951b618a6dfcf42936cc4c63d4de539
2010-09-22 11:47:00 -07:00
Eric Laurent
4f294558aa Merge "Fix broken insert reverb auto tests." into gingerbread 2010-09-22 09:34:00 -07:00
Eric Laurent
71fe631c78 Fix broken insert reverb auto tests.
commit 27a2fdfb8ad1606bdb686c35e30ae894dd037588 changed the
insert reverb behavior when it is attached to a track in that
the reverb tail is silenced immediately when the track is paused.
The tests have been modified to test the insert reverb on session 0.

Change-Id: I90c6fec40167966853acfeaa4dec2b96f9e7839f
2010-09-22 09:02:23 -07:00
Eric Laurent
a6dc469922 Merge "Fix issue 2913071." into gingerbread 2010-09-21 15:55:17 -07:00
Andreas Huber
87d208f7ea Merge "This log message is codec specific." into gingerbread 2010-09-21 15:17:04 -07:00
Andreas Huber
67738486d9 Merge "Remove stagefright foundation's incompatible logging interface and update callsites." into gingerbread 2010-09-21 15:14:43 -07:00
Andreas Huber
6e3fa444c5 Remove stagefright foundation's incompatible logging interface and update callsites.
Change-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c
2010-09-21 15:12:19 -07:00
Eric Laurent
672c0dc3a0 Fix issue 2913071.
Scale audio signal during capture according to peak level so that
returned values on 8 bits contain enough information even for weak
signals.

Also do not reject requests to enable/disable the visualizer if we are
already in the requested state.

Change-Id: I07a705619764350834e61f82d161761eab688747
2010-09-21 15:11:50 -07:00
Andreas Huber
af0a1883b8 This log message is codec specific.
Change-Id: I603ae7bd13b186a6df0a26ea9abe073e89276caf
2010-09-21 15:08:52 -07:00
Eric Laurent
8d1513e13c Merge "Made audio effect control panel intents public." into gingerbread 2010-09-21 10:47:17 -07:00
Eric Laurent
92cf2d6085 Made audio effect control panel intents public.
Change-Id: If927606a24966605eb3e02788b2477937349d518
2010-09-21 10:45:41 -07:00
James Dong
40da64f07b Another attempt for fixing AAC+/eAAC+ related issue
The decoder has to decode the very first two frames (decoder specific data + first data
frame) in order to be really sure whether a stream is AAC or AAC+/eAAC+.

bug - 2966336

Change-Id: Ib12a07285933df0d6c346370a12f70e99e811881
2010-09-20 16:05:01 -07:00
Marco Nelissen
3c473ea7f9 Add a check to track a problem the monkey script has been triggering.
Change-Id: If3896946d993cbab2442e17740f18efd7e753a3b
2010-09-17 15:04:01 -07:00
Andreas Huber
f98197a727 Make sure the message dispatcher stays around until after OMX_FreeHandle is finished in case it posts some more messages during shutdown. Clear the source as soon as possible in OMXCodec's destructor.
Change-Id: I9c896cf07dea0c3201b6f074dbaf27e6d85cd784
2010-09-17 11:49:39 -07:00
Andreas Huber
524e6f62c9 Register the new OMX components.
Change-Id: I795287c63073ca86ad0f97d6afcfc85c401dc984
2010-09-17 09:33:47 -07:00
Andreas Huber
a7516e90d0 Merge "Make sure the .wav extractor does not read data outside the bounds of the 'data' box." into gingerbread 2010-09-16 15:20:33 -07:00
Andreas Huber
4f5bb1e699 Make sure the .wav extractor does not read data outside the bounds of the 'data' box.
Change-Id: Icf18f9224d97e6a78328dd429ebc3a3433e5cecd
related-to-bug: 3007790
2010-09-16 14:54:10 -07:00
James Dong
a7f5e476d5 Merge "Fixed a bug in the query to the supported profiles and levels" into gingerbread 2010-09-16 11:45:01 -07:00
James Dong
dfb89914d4 Fixed a bug in the query to the supported profiles and levels
According to OMX spec, the levels returned is the max level settings.
In fact, we could not enum all the levels.

Change-Id: Ib1cba74100512800a5761c7567894c7ea5b5a452
2010-09-16 11:34:20 -07:00