OSDN Git Service
James Dong [Mon, 26 Mar 2012 18:41:21 +0000 (11:41 -0700)]
Merge "Removed code related to simulator build in TimedEventQueue to get rid of the dependency on jni.h"
Eric Laurent [Mon, 26 Mar 2012 18:27:41 +0000 (11:27 -0700)]
Merge "fix visualizer inactivity detection"
Eric Laurent [Mon, 26 Mar 2012 18:23:49 +0000 (11:23 -0700)]
Merge "reorganize SoundPool and JetPlayer code."
Colin Cross [Mon, 26 Mar 2012 18:22:29 +0000 (11:22 -0700)]
Merge changes Ib4d0e0c0,Iea8f4a23
* changes:
libmedia: remove skia include
stagefright: remove dependency on skia
James Dong [Mon, 26 Mar 2012 17:51:59 +0000 (10:51 -0700)]
Removed code related to simulator build in TimedEventQueue to get rid of the dependency on jni.h
o related-to-bug:
6214141
Change-Id: I548d84a9888be884d3903dc9dea9235258792165
Eric Laurent [Fri, 23 Mar 2012 22:35:48 +0000 (15:35 -0700)]
fix visualizer inactivity detection
Current method implemented by the visualizer to detect that audioflinger has
stopped providing audio buffers does not work if the application
reads pcm captures too fast.
The fix consist in implementing a method based on real time measurement only.
One drawback is that the new method makes use of system calls that add some
overhead to the process and capture functions.
Change-Id: I53bd596b856f1cc7f0f47e08413af3335227100b
Eric Laurent [Mon, 26 Mar 2012 17:47:22 +0000 (10:47 -0700)]
reorganize SoundPool and JetPlayer code.
Reorganize SoundPool and JetPlayer code to be ready for the
creation of libmedia_native.
Split SoundPool between libsoundpool (JNI) and libmedia(sound pool implementation).
Remove dependencies on nativehelper/jni.h from JetPlayer.
Change-Id: I130c6014173b714329929dd82c5dfb70b757a610
Glenn Kasten [Mon, 19 Mar 2012 19:07:35 +0000 (12:07 -0700)]
Add TRACK_FAST for IAudioFlinger::createTrack
Currently not implemented by client or server
Change-Id: Ib11dda57db3eeb871bcc7b546e340078776875f5
Glenn Kasten [Mon, 26 Mar 2012 14:16:37 +0000 (07:16 -0700)]
Merge "IAudioFlinger::createTrack and openRecord flags"
Colin Cross [Sat, 24 Mar 2012 23:09:29 +0000 (16:09 -0700)]
libmedia: remove skia include
skia is not used in this file, remove the unnecessary include.
Change-Id: Ib4d0e0c0090c6b37ff8cfb816c0d8ba82a9638a4
Colin Cross [Sat, 24 Mar 2012 22:12:07 +0000 (15:12 -0700)]
stagefright: remove dependency on skia
skia is only used to write a jpeg file, link directly to libjpeg
instead.
Change-Id: Iea8f4a2347c38328776541d2b74bcbdea3f62041
Colin Cross [Sat, 24 Mar 2012 22:15:01 +0000 (15:15 -0700)]
remove jni.h include from IOMX.h
jni.h is not used in IOMX.h and is not available in pdk builds,
remove it.
Change-Id: I9bc8fd70f617942712d9f684c6fc927bf18be753
James Dong [Sat, 24 Mar 2012 19:31:46 +0000 (12:31 -0700)]
Merge "Remove JNI in LOCAL_C_INCLUDE from non-JNI related Android.mk files."
James Dong [Sat, 24 Mar 2012 17:48:40 +0000 (10:48 -0700)]
Remove JNI in LOCAL_C_INCLUDE from non-JNI related Android.mk files.
o related-to-bug:
6214141
Change-Id: Ic88d1732b3e014af47532a0809e01f6086e8464d
James Dong [Fri, 23 Mar 2012 23:15:19 +0000 (16:15 -0700)]
Fixed missing return value from a method should have returned status_t
Change-Id: I83ad2735eaf8a8dfa5f8f29f30aec1311b3222de
Glenn Kasten [Fri, 23 Mar 2012 21:06:00 +0000 (14:06 -0700)]
Merge "Revert "Split libmedia into libmedia and libmedia_native""
Glenn Kasten [Fri, 23 Mar 2012 21:05:52 +0000 (14:05 -0700)]
Revert "Split libmedia into libmedia and libmedia_native"
This reverts commit
0a3edd38df0743dcc7091bb7ebf29e7e7dadc7cb
Glenn Kasten [Fri, 23 Mar 2012 21:05:02 +0000 (14:05 -0700)]
Merge "Revert "AudioFlinger does not need libmedia any more""
Glenn Kasten [Fri, 23 Mar 2012 21:04:27 +0000 (14:04 -0700)]
Revert "AudioFlinger does not need libmedia any more"
This reverts commit
c920dee060ac69684be33210ee44b99a5fc3e8b2
Andreas Huber [Fri, 23 Mar 2012 15:39:04 +0000 (08:39 -0700)]
Fix the file mimetype reported by the mpeg4 extractor.
Change-Id: I72474c17757dba5867f55b0e99e76e9e4e32ce7b
related-to-bug:
6217289
Mike Lockwood [Thu, 22 Mar 2012 22:47:49 +0000 (15:47 -0700)]
Merge "Merge remote-tracking branch 'goog/ics-aah-exp' into merge"
Mike Lockwood [Thu, 22 Mar 2012 22:32:51 +0000 (15:32 -0700)]
Merge remote-tracking branch 'goog/ics-aah-exp' into merge
Glenn Kasten [Thu, 22 Mar 2012 22:21:35 +0000 (15:21 -0700)]
AudioFlinger does not need libmedia any more
Change-Id: Ifd2c61882109ec36ca68072a2bf6506e08c8cf34
Andreas Huber [Thu, 22 Mar 2012 21:00:53 +0000 (14:00 -0700)]
Merge "Use NuPlayer for media playback everywhere"
Andreas Huber [Tue, 20 Sep 2011 22:39:58 +0000 (15:39 -0700)]
Use NuPlayer for media playback everywhere
if media.stagefright.use-nuplayer is set to true.
Change-Id: Ibb217e7d7d5195b7feeea557554fe78e1585744c
John Grossman [Thu, 22 Mar 2012 18:26:45 +0000 (11:26 -0700)]
LibAAH_RTP: Fix an issue which crept in during code review.
Fix a mistake which came in as part of a merge conflict resolution
during code review of the recent unicast mode refactor of LibAAH_RTP.
Nop packet which were supposed to carry TS transformations for the
pause state accidentally got flagged as Flush operations. The flush
packet successfully carried the TS transformation, but also had the
undesired side effect of constantly flushing the stream.
Change-Id: I4c6aa0043fc274a1d7e880ed1d19cf277f22194b
Signed-off-by: John Grossman <johngro@google.com>
Glenn Kasten [Thu, 22 Mar 2012 18:06:49 +0000 (11:06 -0700)]
Merge "Remove enforceFrameCount"
Marco Nelissen [Wed, 21 Mar 2012 20:36:07 +0000 (13:36 -0700)]
Support gapless playback for mp3 and m4a
Gapless playback for appropriately tagged mp3 and m4a files.
Currently this is implemented in OMXCodec, which most players
use, but should be easy to support in other players as well by
using the SkipCutBuffer utility class.
Change-Id: I748c669adc1cfbe5ee9a7dea2fad945d48882551
Glenn Kasten [Thu, 22 Mar 2012 14:14:27 +0000 (07:14 -0700)]
Merge "Split libmedia into libmedia and libmedia_native"
Glenn Kasten [Wed, 21 Mar 2012 16:08:11 +0000 (09:08 -0700)]
Split libmedia into libmedia and libmedia_native
This is still in the old location
Change-Id: Ic1be549b5b607cfd519cb4cecc581624510a4ee1
Glenn Kasten [Mon, 19 Mar 2012 19:16:56 +0000 (12:16 -0700)]
Remove enforceFrameCount
It was only used to decide whether to issue a warning.
The warning was issued the first time track was created but
not at re-creation. Now it is a verbose message every time,
not a warning since it happens all the time with key clicks on A2DP.
Change-Id: I9d39f53c0a7eb84b666e55b1b76ff830cf8f37ba
Marco Nelissen [Wed, 21 Mar 2012 22:12:44 +0000 (15:12 -0700)]
Merge "Add MetaData::dumpToLog"
Marco Nelissen [Wed, 21 Mar 2012 19:27:00 +0000 (12:27 -0700)]
Add MetaData::dumpToLog
Utility method for dumping the content of a MetaData object to the log.
Change-Id: I2d91b991e1d9fed2215e8995a73c2b1854205074
John Grossman [Mon, 19 Mar 2012 23:04:18 +0000 (16:04 -0700)]
LibAAH_RTP: Properly handle EOS conditions.
EOS was being treated as a flush operation which was causing problems.
In particular, the transmitter was delcaring that playback was
complete early (by the clock lead time of the system, which was 1
second in this case). Also, the receiver was treating the EOS message
just like the flush message, immediately destroying the substreams
associated with the program without letting them play out first.
Change the transmitter to send the EOS message like it always does,
but have it wait until the media time of the last sample has arrived
before reporting playback complete to the app level of things.
On the receiver side of things, don't treat the EOS message like the
flush message. Instead, have the EOS message simply put the substream
into EOS mode, allowing it to signal EOS to its decoder and shut off
the isAboutToUnderflow hack.
Change-Id: Ibe3ac01044373f83edb7a5f4b70478bd78c16d11
John Grossman [Mon, 19 Mar 2012 18:20:02 +0000 (11:20 -0700)]
LibAAH_RTP: Get rid of PipeEvent
Bionic/Android support eventfd, so there is really no reason to have
PipeEvent around any more. This change gets rid of it in LibAAH_RTP
and replaces it with eventfds.
Change-Id: I841fcb71bf5015d521d7517c69f44eac0ea92278
Signed-off-by: John Grossman <johngro@google.com>
John Grossman [Sun, 18 Mar 2012 23:35:36 +0000 (16:35 -0700)]
LibAAH_RTP: Add unicast mode support to the RXPlayer
Add support for unicast mode to the AAH RXPlayer. At the API level,
things should be pretty simple. To use unicast mode, instead of
passing the multicast address and port in the data source URL, just
pass the unicast address and port of the transmitters command and
control port. For example, instead of
aahRX://224.128.60.5:8867
one might instead pass
aahRX://192.168.63.5:55476
Change-Id: I7b40716983d7a91def86dcf40f093dda4255aae3
Signed-off-by: John Grossman <johngro@google.com>
John Grossman [Sun, 18 Mar 2012 00:05:50 +0000 (17:05 -0700)]
LibAAH_RTP: Fix a stuttering audio bug.
Fix a bug discovered while working on adding unicast mode to the TX/RX
players. Also some general cleanup/consolidation regarding timeout
code.
The bug went like this. When a TX player had hit EOS, it would send
an EOS command payload to its receivers. Later, when application
level code shutdown and cleaned up the player, it would send another.
In situations where there is massive packet loss, there is a chance
that not only did both of the EOS packets get dropped, but that they
never got filled in by the retry algorithm because the receiver gave
up on the RTP gap due to an aboutToUnderflow situation in at least one
of its active substreams.
When this happens, there are two major problems. First, all of the
substreams associated with the TX player which has now gone away have
become effectively leaked. They will only get cleaned up if the
entire RTP stream (the TX Group) goes away for 10 seconds or more, or
when the RX Player itself is reset by application level code or a
fatal error. These substreams are holding decoder and renderer
resources which are probably in very short supply, which is a Bad
Thing.
Second, there is now at least one substream in the RX player which is
never going to receive another payload (its TX player source is gone),
but is still considered to be active by the rx player. Assuming that
this substream's program was in the play state when the track ended,
there is now at least one substream which is always
"aboutToUnderflow". From here on out, when the retry algorithm is
attempting to decide whether or not it has the time to attempt to fill
in a gap in the muxed RTP sequence, it always decides that it does not
have the time because of the orphaned substream which is stuck in its
about to underflow state. This effectively means that the retry
algorithm is completely shut off until the rx player gets reset
somehow (something which does not happen during normal operation).
Since the environment had to be extremely lossy to trigger this chain
of events in the first place, and its probably no better now, your
playback is just going to be chock full of gaps which produces
horrible stuttering in the presentation stage of the system.
Two new failsafes have been introduced to keep the double EOS drop
from causing this. First, a timeout has been introduced on the
substream level, in addition to the already existing RTP level
timeout. If a substream fails to receive an activity for 10 seconds
(same timeout as the master RTP timeout), it will be automatically
flushed and purged.
Second, the nature of the master RTP timeout on the transmitter side
has been changed. Instead of just sending an empty NOP command packet
to indicate that the main RTP stream is still alive, the transmitter
now sends a new time of command packet; the Active Program Update
packet. This packet contains a list of all the active program ID
attached to this TX group. Upon receiving one of these APU packets,
RX players reset the inactivity timers for all substreams which are
members of the programs listed in the packet, but they also
immediately purge any substreams associated with programs not present
in the APU.
Between the two of these, no matter how nasty and selective the packet
smashing gremlins in your system happen to be, substreams will always
eventually clean up and avoid getting stuck in a perma-stutter
situation.
Also in this CL:
+ Extract some common utility code into a utils.cpp file so that it
can be shared across the library.
+ Stop using custom timeout logic in the RXPlayer. Instead, use the
common Timeout helper class in utils.cpp.
Signed-off-by: John Grossman <johngro@google.com>
Change-Id: I350869942074f2cae020f719c2911d9092ba8055
John Grossman [Thu, 15 Mar 2012 01:37:14 +0000 (18:37 -0700)]
LibAAH_RTP: Refactor TXGroup code, add unicast mode.
Significantly refactor the TXGroup code to allow transmit groups to
operate in a unicast fanout mode in addition to the traditional pure
multicast mode. Important changes include...
+ Each transmit group active in the system now has its own socket to
send and receive traffic on. In the past, this socket was used to
listen for retry requests from clients. Now it is also used to
listen for group membership reports (IGMPv3 style) from unicast
clients. Having an individual socket per transmit group allows
unicast clients to join the group needing only the IP address and
port of the transmitters socket, and not needing any additional
"group id" to be sent to the client beforehand.
+ Setup for the transmitter is now slightly different. As before, to
setup for multicast mode, a user can call setRetransmitEndpoint
passing an IPv4 multicast address and specific port to transmit to.
It used to also be the case that a user could pass a specific
unicast address and port to transmit to as well. This is no longer
allowed. Instead, to operate in unicast mode, a user passes 0.0.0.0
(IPADDR_ANY) as the IP address. In addition, they need to pass
either 0 for a port to create a new unicast mode TX group, or they
need to pass a specific port to cause the player to attempt to use
an existing unicast mode TX group. The specific port should be the
command and control port of the TX group which was bound to when the
group was originally created.
+ A magic invoke was added to allow clients to fetch the command and
control port on which a TX Player's TX Group is listening.
The API described above is most likely temporary and should eventually
be replaced with one where TX groups are formal top level objects with
their own independent interface and life-cycle management.
Signed-off-by: John Grossman <johngro@google.com>
Change-Id: Ib4e9737c10660d36c50f1825c9824fff5390b1c7
Marco Nelissen [Wed, 21 Mar 2012 17:16:55 +0000 (10:16 -0700)]
Merge "Parse gapless info from mp4 files"
John Grossman [Tue, 13 Mar 2012 21:02:14 +0000 (14:02 -0700)]
LibAAH_RTP: Change names to prepare for refactor.
Rename AAH_TXSender to AAH_TXGroup in preparation for refactoring to
support unicast retransmission.
Signed-off-by: John Grossman <johngro@google.com>
Change-Id: I3984db27d1c61c6155d5d7cb9c38eead421b9249
Marco Nelissen [Tue, 20 Mar 2012 17:05:06 +0000 (10:05 -0700)]
Parse gapless info from mp4 files
Change-Id: I4c83d4e12e996dc29708268e68a4bb74b368c6f3
The Android Open Source Project [Wed, 21 Mar 2012 16:09:04 +0000 (09:09 -0700)]
The Android Open Source Project [Wed, 21 Mar 2012 16:06:34 +0000 (09:06 -0700)]
am
98e1b541: Reconcile with ics-mr1-release
* commit '
98e1b541f271e92b9dc25d54e275c28102746b04':
The Android Open Source Project [Wed, 21 Mar 2012 16:00:43 +0000 (09:00 -0700)]
Reconcile with ics-mr1-release
Change-Id: Id19190393a665dd1b07c073970925758aa383691
The Android Open Source Project [Wed, 21 Mar 2012 15:29:33 +0000 (08:29 -0700)]
am
a4a09465: am
35a8f94d: Reconcile with ics-mr1-release
* commit '
a4a09465569d0f4cce36f089fa02d5ef9b95db81':
Fix
5960562: Show emergency button on PukUnlock screen
Glenn Kasten [Wed, 21 Mar 2012 15:29:18 +0000 (08:29 -0700)]
Merge "Clean up Track constructor"
The Android Open Source Project [Wed, 21 Mar 2012 15:26:56 +0000 (08:26 -0700)]
am
35a8f94d: Reconcile with ics-mr1-release
* commit '
35a8f94da6a8a3a6757e5663bfcbcd044f72a92a':
Fix
5960562: Show emergency button on PukUnlock screen
The Android Open Source Project [Wed, 21 Mar 2012 15:23:03 +0000 (08:23 -0700)]
Reconcile with ics-mr1-release
Change-Id: I10d78e60e39606f85cfa6fc7e9a7da14db0eeb0a
Glenn Kasten [Wed, 21 Mar 2012 15:19:04 +0000 (08:19 -0700)]
Merge "AudioMixer can be configured for fewer max tracks"
Glenn Kasten [Wed, 21 Mar 2012 14:24:21 +0000 (07:24 -0700)]
Merge "Update comments"
Glenn Kasten [Wed, 21 Mar 2012 14:22:40 +0000 (07:22 -0700)]
Merge "Whitespace"
Glenn Kasten [Wed, 21 Mar 2012 14:21:21 +0000 (07:21 -0700)]
Merge "new doesn't fail on Android"
Eric Laurent [Wed, 21 Mar 2012 02:35:56 +0000 (19:35 -0700)]
am
d58b6cd1: am
cbc90453: am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
d58b6cd1e3fdf3deb5147daec556fe424a568732':
Eric Laurent [Wed, 21 Mar 2012 02:35:53 +0000 (19:35 -0700)]
am
a48285c4: am
165ee4c5: am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
a48285c4f22ffc43f1771ebd1ff35dcec48db2c7':
audioflinger: fix issue with camcorder and A2DP
Eric Laurent [Wed, 21 Mar 2012 02:35:41 +0000 (19:35 -0700)]
am
044e7503: am
eaa08d35: am
2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1
* commit '
044e7503ccdcd81adb69b5218b3b92ede47b005a':
Eric Laurent [Wed, 21 Mar 2012 02:24:33 +0000 (19:24 -0700)]
resolved conflicts for merge of
ec94ecad to master
Change-Id: I13bc9671cc1ef02bede7e83253aa8a005367fa0c
James Dong [Wed, 21 Mar 2012 01:53:29 +0000 (18:53 -0700)]
Merge "Handling end times of subtitles."
Insun Kang [Tue, 13 Mar 2012 23:16:35 +0000 (08:16 +0900)]
Handling end times of subtitles.
Change-Id: Ic19ec8980d0a2bf9f265d375cd56e638a2460af8
Eric Laurent [Wed, 21 Mar 2012 01:20:33 +0000 (18:20 -0700)]
am
eb99cacc: am
b388138f: resolved conflicts for merge of
3fe7ee65 to ics-mr1-plus-aosp
* commit '
eb99caccd7165385fc83b0175c6d176c990f179b':
Eric Laurent [Wed, 21 Mar 2012 01:20:31 +0000 (18:20 -0700)]
am
04353390: resolved conflicts for merge of
393dd03e to ics-scoop-plus-aosp
* commit '
04353390722b9195434cc86af4414004eff058e8':
AudioTrack: relax check on minimum buffer size
Glenn Kasten [Wed, 21 Mar 2012 00:01:29 +0000 (17:01 -0700)]
AudioMixer can be configured for fewer max tracks
Change-Id: I371b17cef071d083eecf35cd3627a3adff907a33
Glenn Kasten [Mon, 19 Mar 2012 18:14:37 +0000 (11:14 -0700)]
Clean up Track constructor
The 'thread' parameter can never be NULL.
Use constructor initialization list when possible.
Make more members const.
Only put the relevant code under "if (mCblk != NULL)".
Add comment about track name leak.
Change-Id: Ib963390a69bed1999638cc982a759edd1d5f4712
Glenn Kasten [Tue, 20 Mar 2012 21:01:39 +0000 (14:01 -0700)]
Merge "Add libmedia_native"
Marco Nelissen [Tue, 20 Mar 2012 17:08:52 +0000 (10:08 -0700)]
Merge "Move COM tag parsing to constructor"
Marco Nelissen [Tue, 20 Mar 2012 16:48:02 +0000 (09:48 -0700)]
Move COM tag parsing to constructor
Change-Id: Icfcf05655ca98ccccad4f94834770c2f4098a764
Marco Nelissen [Tue, 20 Mar 2012 16:15:05 +0000 (09:15 -0700)]
Merge "Parse mp3 encoder padding/delay"
Marco Nelissen [Mon, 19 Mar 2012 20:49:43 +0000 (13:49 -0700)]
Parse mp3 encoder padding/delay
Get the mp3 encoder padding and delay from a XING frame or iTunSMPB tag.
Change-Id: Icde598c8857d7e7c187a718f478ee9799d6a1b8a
Wu-cheng Li [Tue, 20 Mar 2012 02:25:56 +0000 (19:25 -0700)]
Merge "Do not set camera preview display if the surface is null."
Glenn Kasten [Wed, 14 Mar 2012 19:56:26 +0000 (12:56 -0700)]
Whitespace
Fix indentation, and add blank lines in key places for clarity
Change-Id: I57a0a8142394f83203161aa9b8aa9276abf3ed7c
Glenn Kasten [Tue, 20 Mar 2012 00:36:25 +0000 (17:36 -0700)]
Add libmedia_native
Change-Id: I3ac357c78fb89f108d15c6e5b9fa317de0e9fb9a
Glenn Kasten [Mon, 19 Mar 2012 23:21:04 +0000 (16:21 -0700)]
Merge "Add libmedia_native"
Glenn Kasten [Tue, 14 Feb 2012 16:52:15 +0000 (08:52 -0800)]
Update comments
Change-Id: I327663a020670d0a72ff57bd0b682e2ce0528650
Glenn Kasten [Mon, 19 Mar 2012 17:38:51 +0000 (10:38 -0700)]
new doesn't fail on Android
Change-Id: I5079a3bf31097dd0807b2d806d5f8d3cff2077ab
Glenn Kasten [Tue, 6 Mar 2012 19:22:44 +0000 (11:22 -0800)]
IAudioFlinger::createTrack and openRecord flags
createTrack and openRecord don't need the "old" flags parameter,
which was either audio_policy_output_t or audio_in_acoustics_t
shifted left by 16 bits. But they do need "new" flags, which
are defined by the application use case. Initially, the only
application use case flag is timed output, but others are planned.
For output, the audio_policy_output_t flags are passed to
AudioSystem::getOutput, which returns an audio_io_handle_t, and that
handle is then passed to createTrack. So createTrack doesn't need the
old flags parameter.
For input, the audio_in_acoustics_t flags are passed to
AudioSystem::getInput, which returns an audio_io_handle_t, and that
handle is then passed to openRecord. So openRecord doesn't need the
old flags parameter.
Change-Id: I18a9870911846cca69d420c19fe6a9face2fe8c4
Eric Laurent [Mon, 19 Mar 2012 15:38:45 +0000 (08:38 -0700)]
am
cbc90453: am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
cbc90453248bd3f9a11fdbc07e544d4a39592934':
Eric Laurent [Mon, 19 Mar 2012 15:37:48 +0000 (08:37 -0700)]
am
165ee4c5: am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
165ee4c53da462b1b6d131e25456dade51c18496':
audioflinger: fix issue with camcorder and A2DP
Eric Laurent [Mon, 19 Mar 2012 15:34:56 +0000 (08:34 -0700)]
am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
14958e21c12f922d7501d32c3bec05109eb342d5':
audioflinger: fix issue with camcorder and A2DP
Eric Laurent [Mon, 19 Mar 2012 15:34:44 +0000 (08:34 -0700)]
am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
14958e21c12f922d7501d32c3bec05109eb342d5':
audioflinger: fix issue with camcorder and A2DP
Eric Laurent [Mon, 19 Mar 2012 15:34:03 +0000 (08:34 -0700)]
am
14958e21: Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
* commit '
14958e21c12f922d7501d32c3bec05109eb342d5':
audioflinger: fix issue with camcorder and A2DP
Eric Laurent [Mon, 19 Mar 2012 15:32:35 +0000 (08:32 -0700)]
Merge "audioflinger: fix issue with camcorder and A2DP" into ics-mr1
Glenn Kasten [Mon, 19 Mar 2012 14:31:58 +0000 (07:31 -0700)]
Merge "audio_channel_in/out_mask_from_count"
Wu-cheng Li [Wed, 14 Mar 2012 09:25:57 +0000 (17:25 +0800)]
Do not set camera preview display if the surface is null.
MediaRecorder.setPreviewDisplay() is not required if applications
use MediaRecorder.setCamera(). Besides, this causes a problem when
apps use Camera.setPreviewTexture. Camera service thinks the
surface texture from Camera.setPreviewTexture and the surface from
MediaRecorder.setPreviewDisplay are different.
bug:
5988937
Change-Id: Ia345705b6679ef349db6e354feaa3cc0fe8bcd8c
Eric Laurent [Sat, 17 Mar 2012 03:37:59 +0000 (20:37 -0700)]
audioflinger: fix issue with camcorder and A2DP
Some audio HALs do not support well a device selection of 0 (no device)
received on an input stream.
This can happen because of a problem in the audioflinger code that handles
the forwarding of the output device selection to the record thread for use by
the pre processing modules that need it. If the output device is 0 (meaning
no op, which happens when stopping playback over A2DP) audioflinger could not
detect it was an output device selection and would forward it to the input
stream (see AudioFlinger::setParameters() and RecordThread::checkForNewParameters_l().
Issue
6179641.
Change-Id: Idae534521866538e0d12ba259a2834f402a922e2
The Android Automerger [Sat, 17 Mar 2012 02:32:33 +0000 (19:32 -0700)]
merge in ics-mr1-release history after reset to ics-mr1
Eric Laurent [Sat, 17 Mar 2012 00:29:43 +0000 (17:29 -0700)]
am
eaa08d35: am
2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1
* commit '
eaa08d35154b0b9d62098c80c75f2deeadf72b9e':
Eric Laurent [Sat, 17 Mar 2012 00:27:09 +0000 (17:27 -0700)]
am
b1853f70: am
2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1
* commit '
b1853f706371b5050cd8184f5c33955c2f5ae36a':
MediaPlayerService: fix AudioSink latency
Eric Laurent [Sat, 17 Mar 2012 00:26:24 +0000 (17:26 -0700)]
am
2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1
* commit '
2a0d685ed62ff7a5e5a40be0748860c092165984':
MediaPlayerService: fix AudioSink latency
Eric Laurent [Sat, 17 Mar 2012 00:26:15 +0000 (17:26 -0700)]
am
b388138f: resolved conflicts for merge of
3fe7ee65 to ics-mr1-plus-aosp
* commit '
b388138ff2986d6883fa9331fa91ae5e18ae81a0':
Eric Laurent [Sat, 17 Mar 2012 00:22:34 +0000 (17:22 -0700)]
resolved conflicts for merge of
393dd03e to ics-scoop-plus-aosp
Change-Id: Ib6af53957780a09e59d663206b956a39fe883d6a
Eric Laurent [Sat, 17 Mar 2012 00:19:25 +0000 (17:19 -0700)]
resolved conflicts for merge of
3fe7ee65 to ics-mr1-plus-aosp
Change-Id: Ia7e1cd869779e9f512e840b768f5b43992c8a122
Andreas Huber [Fri, 16 Mar 2012 22:19:30 +0000 (15:19 -0700)]
Merge "Report an error instead of waiting for EOS indefinitely in sf2."
Eric Laurent [Fri, 16 Mar 2012 22:01:44 +0000 (15:01 -0700)]
am
2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1
* commit '
2a0d685ed62ff7a5e5a40be0748860c092165984':
MediaPlayerService: fix AudioSink latency
Eric Laurent [Fri, 16 Mar 2012 22:01:42 +0000 (15:01 -0700)]
am
3fe7ee65: Merge "AudioTrack: relax check on minimum buffer size" into ics-mr1
* commit '
3fe7ee651db0aae9485ead227c89db1e24b9e245':
AudioTrack: relax check on minimum buffer size
Eric Laurent [Fri, 16 Mar 2012 22:01:03 +0000 (15:01 -0700)]
am
2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1
* commit '
2a0d685ed62ff7a5e5a40be0748860c092165984':
MediaPlayerService: fix AudioSink latency
Eric Laurent [Fri, 16 Mar 2012 22:01:01 +0000 (15:01 -0700)]
am
3fe7ee65: Merge "AudioTrack: relax check on minimum buffer size" into ics-mr1
* commit '
3fe7ee651db0aae9485ead227c89db1e24b9e245':
AudioTrack: relax check on minimum buffer size
Andreas Huber [Fri, 16 Mar 2012 20:19:20 +0000 (13:19 -0700)]
Report an error instead of waiting for EOS indefinitely in sf2.
Change-Id: Id7bcfb90a3b6a61f0df8bd8f39ea4ffa3c433d87
Andreas Huber [Fri, 16 Mar 2012 20:15:53 +0000 (13:15 -0700)]
Merge "ACodec is a little more aggressive in its error checking now."
Eric Laurent [Tue, 6 Mar 2012 01:27:11 +0000 (17:27 -0800)]
MediaPlayerService: fix AudioSink latency
The AudioSink latency is currently cached when the associated AudioTrack
is created. However, the AudioTrack latency can change if the AudioTrack is moved
from one output stream to another.
The AudioPlayer must also periodically update its view of the latency
as it is needed to compensate the real audio time used for A/V sync.
This fixes an A/V sync problem seen when switching A2DP on and off while
playing a video.
Change-Id: I28b24049ca114e1af3e24791dcc900f463536ba4
Conflicts:
media/libmediaplayerservice/MediaPlayerService.cpp
Eric Laurent [Tue, 6 Mar 2012 01:06:40 +0000 (17:06 -0800)]
AudioTrack: relax check on minimum buffer size
Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.
Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.
Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f
Conflicts:
media/libmedia/AudioTrack.cpp
Andreas Huber [Fri, 16 Mar 2012 19:00:18 +0000 (12:00 -0700)]
ACodec is a little more aggressive in its error checking now.
Update components to do the right thing.
Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d