101 Commits

Author SHA1 Message Date
Andreas Huber
a6be6dcd03 NuPlayer is now taking on the task of streaming over RTSP.
Change-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a
2011-10-13 11:31:06 -07:00
Eric Laurent
9968a36f29 Fix issue 5373048: AudioCache decode errors
When decoding a file for the SoundPool, do not
reject the entire file in case of error but
return what was decoded so far instead.

Change-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd
2011-09-27 10:23:38 -07:00
Dave Burke
fc301b0bb5 Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
2011-09-02 11:26:59 +01:00
Jason Simmons
d9792ac752 Add a null check to handle failure of android::createPlayer
Change-Id: Id56bd0c16104e46d8dc71f13d8a44aefe251fad4
2011-08-12 13:46:55 -07:00
Ashish Sharma
d5a20d8d75 Network traffic accounting for chromium stack support in mediaserver.
- Atribute network activity to uid calling the mediaplayer
        - Enables logging of chromium network stack in logcat

Change-Id: I2d28c8392248a056b3cee305dd4d4475ebba4337
2011-08-05 12:58:14 -07:00
Andreas Huber
603d739b5a Charge network traffic to the uid of the process using the MediaPlayer.
Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067
related-to-bug: 4517282
2011-07-01 13:18:43 -07:00
Andreas Huber
fddf5d9f48 Make dumpsys(media.player) more useful by having AwesomePlayer populate it.
Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
2011-06-08 16:04:26 -07:00
Glenn Kasten
6af763bec7 Remove dead code related to gettid
The gettid system call is always available now.

Change-Id: Ib78b41781eda182dc8605daf456bbea7ff7c2dc0
2011-06-03 16:12:37 -07:00
Glenn Kasten
e46a86fcb6 Revert "Use AudioTrack::event_type not int in callback"
This reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1
2011-06-01 15:20:35 -07:00
Glenn Kasten
2225e4b704 Use AudioTrack::event_type not int in callback
Change-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c
2011-06-01 13:50:23 -07:00
Jean-Michel Trivi
5439223b56 Use channel mask instead of channel count for track creation
Record and playback objects (resp AudioRecord and AudioTrack)
are created using a channel mask, but this information is lost
in the mixer because only the channel count is known to
AudioFlinger. A channel count can always be derived from a
channel mask.

The change consists in:
- disambiguiting variable names for channel masks and counts
- passing the mask information from the client to AudioFlinger
 and the mixer.
- when using the DIRECT ouput, only verifying the format of
 the track is compatible with the output's for PCM.

Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
2011-06-01 10:55:29 -07:00
Dima Zavin
34bb419e59 update for new audio.h header location
Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
2011-05-12 14:09:57 -07:00
Gloria Wang
d01ec6eab0 Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
2011-04-29 10:24:03 -07:00
Dima Zavin
24fc2fb1c5 audio/media: convert to using the audio HAL and new audio defs
Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
2011-04-27 13:10:10 -07:00
Gloria Wang
162ee49e1c - Add another parameter in notify() to be able to send timed text sample
through listener during video playback.
- Add OnTimedTextListener in the MediaPlayer
For feature request 800939.

Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
2011-04-13 11:11:34 -07:00
Andreas Huber
c6e3b27fa1 This reverts an earlier change 4aeec2da39fce4de9b07b694d59fd308ffb3d491
Instead of returning 0-filled buffers after EOS from AudioTrack we do this
work in AudioOutput instead. That way the EOS signal (0 frames returned)
is preserved in AudioCache which otherwise would lead to a heap size overflow
filling everything with zeroes.

Change-Id: I7e07429ba887957a4340dd4b21eef4bba76248cd
related-to-bug: 3514073
2011-04-04 11:43:40 -07:00
Andreas Huber
554d0ea10f Enable http-live support for https:// urls, fix a parsing issue.
Change-Id: I2284e1d62babde7f739fba6a3cb4e2619f0e62f9
related-to-bug: 4148291
2011-03-21 16:34:02 -07:00
James Dong
ed73246b32 Add memory leak tracking/debugging code to drm server
bug - 4099038

Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66
2011-03-14 18:48:19 -07:00
Gloria Wang
9b3f1521b5 - To track the usage of all audio output devices
- To track the currently used audio device
- The devices are separated as speaker and other audio devices
- Provide the collected data to battery application through pullBatteryData()

Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
2011-03-02 16:53:24 -08:00
Glenn Kasten
cc562a3576 Bug 3438258 Add SurfaceTexture as MediaPlayer sink
This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
 - New Java and C++ interfaces
 - C++ plumbing and implementation (JNI, Binder)
 - Stagefright AwesomePlayer and NuPlayer use ANativeWindow
   (either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
2011-02-23 15:02:56 -08:00
Gloria Wang
d211f41f76 - Add method in MediaPlayerService to collect and pull
codec usage (duration) for the battery app
- Collect MediaPlayer decoding usage data

Change-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965
2011-02-22 22:42:05 -08:00
Andreas Huber
d6c421f1a0 Remove legacy, AwesomePlayer-based http live implementation.
Change-Id: I455d0faa5612dcd4d2bb6f2b3c7b64a1caaabf69
2011-02-16 09:19:40 -08:00
Andreas Huber
d7069ca0bc Use NuPlayer for HTTP live streaming playback by default.
Reversed the property logic, set media.httplive.disable-nuplayer to true to revert

Change-Id: I1057940667aaab56bb75c9ea15c2cdcab736f3c6
2011-01-06 14:14:56 -08:00
Andreas Huber
54e6649e4c Squashed commit of the following:
commit eaeaa2672d4e0a82891493b2bde8bdd0c0e79a1b
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 23 10:26:48 2010 -0800

    Remove lowest bandwidth stream if using the legacy player.

    Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953

commit 7d652972615b2750fd8f1c21b9fab0e136df2b82
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 23 10:14:36 2010 -0800

    Don't clear the packet source's format for legacy discontinuities.

    Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a

commit 2b18a45aac17cbfe1aa089d0f6510957d438dd64
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 23 10:13:55 2010 -0800

    Use NuPlayer for HTTP live streaming based on runtime property.

    adb shell setprop media.httplive.enable-nuplayer true

    Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773

commit 50d899fb7b9ea52c3994b0a58e993998d926aeed
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 16:25:22 2010 -0800

    Make ACodec a lot less verbose.

    Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48

commit b19e1740cb4d02990a56844654b5d019987c6405
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 16:22:22 2010 -0800

    Wait until we have fresh codec-specific-data before instantiating the decoders

    after a discontinuity involving a format change.

    Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37

commit 06428c006906c9099e430aface3b439ff1d36ecc
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 15:20:38 2010 -0800

    Disable random seeks in the streaming tool for now.

    Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71

commit e19db68f3bea8a61c191f60f6940f30e3a0d5f1b
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 15:20:27 2010 -0800

    Tweak HTTP live parameters.

    Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab

commit 1e9942791538c2256b579d96c6c04264b0d8b087
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 14:48:23 2010 -0800

    Enable http live streaming through NuPlayer for http URLs containing the string m3u8

    Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624

commit 4c33f96a6e499ee0efe0e70b687094430cb7c1c0
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 14:40:27 2010 -0800

    Support for HTTP live streaming in NuPlayer.

    Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54

commit ddf705ce553708bc5b13d89a878484cf839bd674
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 13:42:47 2010 -0800

    StreamingSource now a subclass of abstract NuPlayer::Source

    Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3

commit 9e04a8406b1882a8e3fdeb7b4d52db5ae70b970a
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 22 13:33:52 2010 -0800

    Refactor media data sourcing to NuPlayer::Source.

    Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9

Change-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9
2010-12-23 10:27:40 -08:00
Andreas Huber
a15874665f Initial support for a true streaming player for mpeg2 transport streams.
Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
2010-12-15 15:18:26 -08:00
Andreas Huber
52b52cdfb7 Support streaming data across binder boundaries.
Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
2010-11-23 14:46:13 -08:00
Andreas Huber
c23dabfb20 Remove all traces of legacy renderer support in stagefright.
Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
2010-11-16 13:05:53 -08:00
James Dong
8ec2d9add9 Remove legacy PV stuff
Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
2010-11-15 08:36:42 -08:00
Andreas Huber
69b8d69aad Squashed commit of the following:
commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:59:23 2010 -0700

    suspend() and resume() methods on VideoView are back but don't do anything.

    They need to be back because they were public before.

    Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425

commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:47:05 2010 -0700

    Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."

    This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.

    Conflicts:

    	api/current.xml

    Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5

commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:44:16 2010 -0700

    Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."

    This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.

commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:44:08 2010 -0700

    Revert "Release MediaPlayer if suspend() returns false."

    This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.

commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date:   Fri Oct 29 11:40:46 2010 -0700

    manually.

    Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87

Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
2010-10-29 13:20:06 -07:00
Eric Laurent
329430a54e am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" into gingerbread
Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c'

* commit '4f21e517d09b9d793d20d64547df330fba705b3c':
  Added getter for session Id to AudioSink
2010-10-10 16:06:04 -07:00
Eric Laurent
b3bdf3f008 Added getter for session Id to AudioSink
Added a method to expose the audio session id at AudioSink interface
so that the AudioPlayer in stagefright can retrieve it.

Also:
- Fixed audio effect send level not being initialized in mediaplayer.
- Fixed compilation error when LOGV is enabled in mediaplayer JNI

Change-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb
2010-10-07 18:23:03 -07:00
Dave Sparks
762665094f am 7dff9dfd: am 269dea1c: Merge "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 w
Merge commit '7dff9dfd6176fad1318a27f16318561453a429f0'

* commit '7dff9dfd6176fad1318a27f16318561453a429f0':
  Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.
2010-09-28 13:19:55 -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
2527da00e2 am 9aa05ec2: am 681c5ff2: Merge "Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore." into gingerbread
Merge commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12'

* commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12':
  Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.
2010-08-30 13:30:35 -07:00
Andreas Huber
30cfa20dfc Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.
Change-Id: I1ca6bd8faba0185f9694f9dc04d2b3e6a7ab5ac3
related-to-bug: 2370115
2010-08-30 12:46:12 -07:00
Andreas Huber
e3c01832fc Squashed commit of the following:
commit 35cc68814a9537c31fde146e171e7b0bbdfe211e
Author: Andreas Huber <andih@google.com>
Date:   Mon Aug 16 08:48:42 2010 -0700

    Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else.

commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 13 13:56:44 2010 -0700

    The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise.

commit 684972074b74318bdcb826ed9b5b0864d2d2e273
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 13 09:34:35 2010 -0700

    A first shot at supporting the new rendering APIs.

Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
2010-08-23 12:30:24 -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
929642ee00 Add runtime dumpsys support for media recorder client
Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
2010-07-08 21:25:55 -07:00
Eric Laurent
df9b81ced4 Added Visualizer effect.
The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
 - the enable()/disable() methods have been replaced bya more standard setEnabled() method.
 - some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
2010-07-07 11:00:28 -07:00
Andreas Huber
8d65dd2653 Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.
Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
2010-06-23 16:40:57 -07:00
Eric Laurent
619346f902 Added support for audio sessions in MediaPlayer and AudioTrack.
Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
2010-06-22 17:14:04 -07:00
Andreas Huber
7a747b8e0d Initial checkin of preliminary rtsp support for stagefright.
Change-Id: I0722aa888098c0c1361c97a4c1b123d910afc207
2010-06-07 15:34:45 -07:00
The Android Open Source Project
21a534d955 am 1d628c5d: merge from open-source master
Merge commit '1d628c5d3dd7998b29c339292a2dc391015d0782' into kraken

* commit '1d628c5d3dd7998b29c339292a2dc391015d0782':
  Accept media files by file extension in case insensitive manner.
2010-05-14 09:46:11 -07:00
The Android Open Source Project
1d628c5d3d merge from open-source master
Change-Id: I934cf85c4673f9ca3a9549c2074907ad572310f4
2010-05-14 09:44:36 -07:00
Andreas Huber
ce0bd71735 am 8ea45aad: am e083d0a2: Merge "Support for Ogg Vorbis decoding in stagefright." into froyo
Merge commit '8ea45aad100ee25067b2e83703454c71a968ba4f' into kraken

* commit '8ea45aad100ee25067b2e83703454c71a968ba4f':
  Support for Ogg Vorbis decoding in stagefright.
2010-05-04 14:30:34 -07:00
Andreas Huber
eb5eef3819 Support for Ogg Vorbis decoding in stagefright.
Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright.

Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8
related-to-bug: 2654400
2010-05-04 11:58:16 -07:00
James Dong
fff02afa01 am 6852b198: am d3d445b1: Merge "Use PV_PLAYER to handle RTSP streaming" into froyo
Merge commit '6852b198fbedd9378ed79ca6528a4d6f33b0b677' into kraken

* commit '6852b198fbedd9378ed79ca6528a4d6f33b0b677':
  Use PV_PLAYER to handle RTSP streaming
2010-04-14 12:11:12 -07:00
James Dong
42d66573ff Use PV_PLAYER to handle RTSP streaming
bug - 2594865

Change-Id: Ice5b89b1d53bbc4da033892fe545bdf51ac7267f
2010-04-14 08:57:14 -07:00
Andreas Huber
ab88ea9503 Remove legacy NO_OPENCORE code bypass from MediaPlayerService.
Change-Id: I72db73c91673e0d7f1090e3b033ae915337dc16e
2010-04-09 13:44:28 -07:00
Atsushi Eno
ebcc51d39c Accept media files by file extension in case insensitive manner.
Change-Id: I8e246010c96802ae87960797607fc8f8f2ab6031
2010-03-19 23:18:02 +09:00