596 Commits

Author SHA1 Message Date
Andreas Huber
27366fc954 Squashed commit of the following:
commit 1efc38dc3c33fef57b759002db3965ed07a28cb0
Author: Andreas Huber <andih@google.com>
Date:   Thu Nov 19 14:36:14 2009 -0800

    Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.

    Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.

commit 51973062eb5ee63fd64b845d72bac517cc3369cf
Author: Andreas Huber <andih@google.com>
Date:   Wed Nov 18 14:01:43 2009 -0800

    Fix one more unit test, properly send seek-complete notification only after seek actually completed.

commit cb22250b34b1fcfe1bf459723a761fd003950229
Author: Andreas Huber <andih@google.com>
Date:   Wed Nov 18 12:31:36 2009 -0800

    Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.

commit 25eb9241138ddf7bb27ce90657116c5f8a94d880
Author: Andreas Huber <andih@google.com>
Date:   Wed Nov 18 12:30:40 2009 -0800

    Support seeking and duration in AMRExtractor, assuming all frames are the same size.

commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa
Author: Andreas Huber <andih@google.com>
Date:   Wed Nov 18 10:21:44 2009 -0800

    MediaPlayerImpl is dead, long live AwesomePlayer.

commit c5b52d3c0674f5dc94db506afbce52401cceddac
Author: Andreas Huber <andih@google.com>
Date:   Wed Nov 18 09:42:23 2009 -0800

    New implementation of the stagefright mediaplayer.
2009-11-23 10:44:30 -08:00
Eric Laurent
949c572a16 am e7800946: Merge change I49f02be9 into eclair
Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-mr2

* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
  Issue 2265163: Audio still reported routed through earpiece on sholes
2009-11-21 00:21:15 -08:00
Android (Google) Code Review
e7800946a4 Merge change I49f02be9 into eclair
* changes:
  Issue 2265163: Audio still reported routed through earpiece on sholes
2009-11-21 00:18:24 -08:00
Yu Shan Emily Lau
507322ca5c am 9ed314ce: Merge change Ib3191441 into eclair
Merge commit '9ed314cefb5ec711dfcb5527a2a0a6b87a643c24' into eclair-mr2

* commit '9ed314cefb5ec711dfcb5527a2a0a6b87a643c24':
  Add the checking for mediaplayer stress test.
2009-11-20 12:03:34 -08:00
Android (Google) Code Review
9ed314cefb Merge change Ib3191441 into eclair
* changes:
  Add the checking for mediaplayer stress test.
2009-11-20 11:59:28 -08:00
Yu Shan Emily Lau
b1ce51fb73 Add the checking for mediaplayer stress test. 2009-11-20 11:55:05 -08:00
Eric Laurent
49f02be9d7 Issue 2265163: Audio still reported routed through earpiece on sholes
This is a second attempt to fix the audio routed to earpiece syndrom.
The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.
When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.
Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.

The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.
The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.

The same modification is made for AudioRecord although no bug related to record has been reported yet.
Also fixed a potential problem if record stop is called while the record thread is exiting.
2009-11-19 23:57:45 -08:00
Andreas Huber
d66a901e6a DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering. 2009-11-19 11:24:18 -08:00
Jean-Michel Trivi
4eaf35b99d am a0e37e9d: Merge change I941136fd into eclair
Merge commit 'a0e37e9defea04e8c0d97828db02361fe511c53f' into eclair-mr2

* commit 'a0e37e9defea04e8c0d97828db02361fe511c53f':
  Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource
2009-11-18 17:04:30 -08:00
Jean-Michel Trivi
941136fd08 Fix bug 2271468 Update the javadoc for MediaRecorder.AudioSource
to define how the two new audio sources behave when used on devices
that don't support them.
2009-11-18 16:15:12 -08:00
Ray Chen
ae9dd9b77d am b3f35041: Merge change I86db22ef into eclair
Merge commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6' into eclair-mr2

* commit 'b3f35041aa50839e5d8ed3a4ad72e6eef2cb4ea6':
  Fix issue 2265955	Use dateCreated when dateTaken isn't valid when writing images/videos to database.
2009-11-17 14:28:18 -08:00
Android (Google) Code Review
2c7664989f Merge change Iea6a38c6 into eclair-mr2
* changes:
  Squashed commit of the following:
2009-11-17 10:46:41 -08:00
Ray Chen
05df33ea74 Fix issue 2265955 Use dateCreated when dateTaken isn't valid when writing images/videos to database. 2009-11-17 10:42:01 -08:00
Android (Google) Code Review
a35f1c63a6 Merge change Ib64ea2dd into eclair-mr2
* changes:
  Improvements to TimedEventQueue.
2009-11-17 10:36:24 -08:00
Andreas Huber
9c54010f76 Improvements to TimedEventQueue.
Events are now cancelled given their "unique" event_id instead of the event pointer
itself (which may be reallocated in place if we're unlucky). Also the ability to
cancel multiple events matching a predicate has been added.
2009-11-17 10:29:32 -08:00
Andreas Huber
744043fcbf Update FileSource to also accept a file descriptor and a range. 2009-11-17 10:21:03 -08:00
Andreas Huber
ea6a38c63b 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".
2009-11-16 15:43:38 -08:00
Eric Laurent
6efdbcc3c1 am fddfb9ae: Merge change Iad79689a into eclair
Merge commit 'fddfb9ae03a2730ac5ce27fa4c47b7d3a0285d0f' into eclair-mr2

* commit 'fddfb9ae03a2730ac5ce27fa4c47b7d3a0285d0f':
  Improvements for issue 2197683:	English IME key-press latency is noticeably higher on passion than sholes
2009-11-12 23:10:34 -08:00
Eric Laurent
609acfd2a1 am 1aa9f3ca: Merge change I923d7d72 into eclair
Merge commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54' into eclair-mr2

* commit '1aa9f3cac31a7c2b50fcb3c9259cead8d638ae54':
  Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
2009-11-12 23:10:18 -08:00
Android (Google) Code Review
fddfb9ae03 Merge change Iad79689a into eclair
* changes:
  Improvements for issue 2197683:	English IME key-press latency is noticeably higher on passion than sholes
2009-11-12 22:53:28 -08:00
Android (Google) Code Review
1aa9f3cac3 Merge change I923d7d72 into eclair
* changes:
  Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
2009-11-12 22:45:50 -08:00
Eric Laurent
923d7d721d Fix issue 2242614: Wired headset not recognized: bogus "state" in ACTION_HEADSET_PLUG broadcast.
The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.

Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
2009-11-12 12:09:06 -08:00
Andreas Huber
d0f3228daa resolved conflicts for merge of c66d53f9 to eclair-mr2 2009-11-12 10:32:26 -08:00
Andreas Huber
c8d7c1492e Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor. 2009-11-12 09:36:10 -08:00
Eric Laurent
059b4be2a5 Improvements for issue 2197683: English IME key-press latency is noticeably higher on passion than sholes
This change goes with a kernel driver change that reduces the audio buffer size from 4800 bytes (~27ms) to 3072 bytes (~17ms).
- The AudioFlinger modifcations in change 0bca68cfff161abbc992fec82dc7c88079dd1a36 have been removed: the short sleep period was counter productive when the AudioTrack is using the call back thread as it causes to many preemptions.
- AudioFlinger mixer thread now detects long standby exit time and in this case anticipates start by writing 0s as soon as a track is enabled even if not ready for mixing.
- AudioTrack::start() is modified to start call back thread before starting the IAudioTrack so that thread startup time is masked by IAudioTrack start and mixer thread wakeup time.
2009-11-11 12:13:27 -08:00
Andreas Huber
6780d8c006 Make MediaPlayerImpl less verbose by default. 2009-11-10 13:47:45 -08:00
Andreas Huber
d533ca61fa am cfe45c77: Merge change I96c4d4b3 into eclair
Merge commit 'cfe45c775ddb5e48bf556aee7422298260eb4fd8' into eclair-mr2

* commit 'cfe45c775ddb5e48bf556aee7422298260eb4fd8':
  Fix for random audio output failures, properly dup() the file descriptor in IMediaPlayer::setDataSource to assume ownership as the caller will otherwise close it.
2009-11-10 12:29:34 -08:00
Andreas Huber
da440f137f Fix for random audio output failures, properly dup() the file descriptor in IMediaPlayer::setDataSource to assume ownership as the caller will otherwise close it. 2009-11-10 12:26:26 -08:00
Gloria Wang
9d7e75eb0c am bf964e6a: Merge change Ic060d86f into eclair
Merge commit 'bf964e6a0488c25bfe18d2c041aafe42cf493b9e' into eclair-mr2

* commit 'bf964e6a0488c25bfe18d2c041aafe42cf493b9e':
  Check whether test server is up before running tests which use streaming files.
2009-11-10 10:07:10 -08:00
Gloria Wang
c060d86f7d Check whether test server is up before running tests which use streaming files. 2009-11-09 15:51:12 -08:00
Android (Google) Code Review
f28e0c2ac7 Merge change I9a50fdf4 into eclair-mr2
* changes:
  Handle OMX_StateInvalid in emergency shutdown properly (by ignoring it and hoping for the best) instead of asserting.
2009-11-06 14:25:26 -05:00
Andreas Huber
be364022fb am fde273ba: Merge change Ic997acac into eclair
Merge commit 'fde273baf6592a5fde15ee4dd4d798d90368e440' into eclair-mr2

* commit 'fde273baf6592a5fde15ee4dd4d798d90368e440':
  Make AudioPlayer a little less verbose, defer starting audio playback until after the first video frame has been decoded (if there's video at all).
2009-11-06 10:07:53 -08:00
Andreas Huber
9a50fdf467 Handle OMX_StateInvalid in emergency shutdown properly (by ignoring it and hoping for the best) instead of asserting. 2009-11-06 08:44:26 -08:00
Android (Google) Code Review
fde273baf6 Merge change Ic997acac into eclair
* changes:
  Make AudioPlayer a little less verbose, defer starting audio playback until after the first video frame has been decoded (if there's video at all).
2009-11-06 11:27:03 -05:00
Android (Google) Code Review
d512a3b3a8 Merge change Ic1d72f56 into eclair-mr2
* changes:
  Make createThumbnailFromEXIF prefer choosing a thumbnail from the exif to from the full image, if both can generate of a thumbnail of same size.
2009-11-05 23:07:33 -05:00
Wei-Ta Chen
c1d72f5697 Make createThumbnailFromEXIF prefer choosing a thumbnail from the exif
to from the full image, if both can generate of a thumbnail of same size.
2009-11-06 11:56:52 +08:00
James Dong
99588d590f am 1e495da1: Merge change I4b03c2cd into eclair
Merge commit '1e495da19f3f0061de38821a4ac733dca833b3eb' into eclair-mr2

* commit '1e495da19f3f0061de38821a4ac733dca833b3eb':
  Add windows media support check in MediaMetadataTest.java and MediaPlayerApiTest.java
2009-11-05 19:09:58 -08:00
Andreas Huber
c997acacd5 Make AudioPlayer a little less verbose, defer starting audio playback until after the first video frame has been decoded (if there's video at all). 2009-11-05 16:34:39 -08:00
Android (Google) Code Review
1e495da19f Merge change I4b03c2cd into eclair
* changes:
  Add windows media support check in MediaMetadataTest.java and MediaPlayerApiTest.java
2009-11-05 19:15:56 -05:00
Jean-Michel Trivi
571529f821 am d94ed379: Merge change I1dc2ae28 into eclair
Merge commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162' into eclair-mr2

* commit 'd94ed3794c68b93ac9faa357bb3517f4fae88162':
  Fix bug 2242585 to unhide the new audio recording sources.
2009-11-05 16:10:32 -08:00
Jean-Michel Trivi
1dc2ae2871 Fix bug 2242585 to unhide the new audio recording sources.
Unhide CAMCORDER and VOICE_RECOGNITION in android.media.MediaRecorder
2009-11-05 15:49:37 -08:00
Andreas Huber
2fe3e3a771 am 818a9cf8: Merge change Ia4eedace into eclair
Merge commit '818a9cf827f282addbf7c8ee23534e08a3aaa358' into eclair-mr2

* commit '818a9cf827f282addbf7c8ee23534e08a3aaa358':
  Now that UseBuffer on this component is fixed, let's use it.
2009-11-05 13:55:19 -08:00
Andreas Huber
dcaa220ff5 DO NOT MERGE: Squashed commit of the following:
commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc
Author: Andreas Huber <andih@google.com>
Date:   Thu Nov 5 12:02:31 2009 -0800

    DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.

commit 991832fe4dc012e51d3d9ed8d647c7f09991858f
Author: Andreas Huber <andih@google.com>
Date:   Thu Nov 5 11:24:11 2009 -0800

    DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.

commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb
Author: Andreas Huber <andih@google.com>
Date:   Mon Oct 26 16:11:54 2009 -0700

    DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers.

commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84
Author: Andreas Huber <andih@google.com>
Date:   Thu Nov 5 11:10:49 2009 -0800

    DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.

commit 5a47f7439a1298b330541a7e4e647a8b44487388
Author: Andreas Huber <andih@google.com>
Date:   Thu Nov 5 11:08:19 2009 -0800

    DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.

commit 45bed64722501b9f411a2940aff5aff4cc4d2e98
Author: Andreas Huber <andih@google.com>
Date:   Thu Nov 5 11:02:23 2009 -0800

    DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.

commit 6738e306a50196f31a73d4fc7b7c45faff639903
Author: Andreas Huber <andih@google.com>
Date:   Thu Oct 15 13:46:54 2009 -0700

    DO NOT MERGE: Reimplement the OMX backend for stagefright.

    Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

    Changed APIs to conform to the rest of the system.
2009-11-05 13:06:17 -08:00
Andreas Huber
a4eedace99 Now that UseBuffer on this component is fixed, let's use it. 2009-11-05 09:56:03 -08:00
Android (Google) Code Review
97f96ef9f7 Merge change I7f9db307 into eclair-mr2
* changes:
  Modify the behavior of createThumbnailForEXIF() to: returning SizedThumbnailBitmap, which contains the downsampled bitmap either from the thumbnail in EXIF or the full image.
2009-11-05 04:49:46 -05:00
Wei-Ta Chen
6706caf937 Modify the behavior of createThumbnailForEXIF() to:
returning SizedThumbnailBitmap, which contains the downsampled
bitmap either from the thumbnail in EXIF or the full image.
2009-11-05 16:53:27 +08:00
Eric Laurent
fcae6c7179 am 67b69292: Merge change I93f500a5 into eclair
Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-mr2

* commit '67b692920c18f99b096dce285adc6f7439fa866c':
  Fix issue 2203561: Sholes: audio playing out of earpiece.
2009-11-05 00:01:33 -08:00
Android (Google) Code Review
67b692920c Merge change I93f500a5 into eclair
* changes:
  Fix issue 2203561: Sholes: audio playing out of earpiece.
2009-11-05 02:55:26 -05:00
Eric Laurent
bda7469d9b Fix issue 2203561: Sholes: audio playing out of earpiece.
Create a new IAudioTrack interface to AudioFlinger when start() fails due to a broken pipe error.
Do the same if start fails due to the same error after time out in obtainBuffer().
Do not indicate that the AudioTrack is started to AudioPolicyManager if IAudioTrack start fails.
This avoids that an AudioTrack keeps a dead IAudioTrack after a media server crash.

Same modifications for AudioRecord.

Add a flag to ToneGenerator indicating that the callback thread can call Java. Without it, when the media server crashes and restarts, the AudioSystem error callback will crash in JNI if the IAudiotrack is created from AudioTrack callback thread.
2009-11-04 23:47:21 -08:00
James Dong
b1c85ec47a Add windows media support check in MediaMetadataTest.java and MediaPlayerApiTest.java 2009-11-04 23:00:09 -08:00