summaryrefslogtreecommitdiffstats
path: root/media/java
diff options
context:
space:
mode:
Diffstat (limited to 'media/java')
-rw-r--r--[-rwxr-xr-x]media/java/android/media/IAudioFocusDispatcher.aidl0
-rw-r--r--media/java/android/media/MediaCodec.java18
-rw-r--r--media/java/android/media/MediaCodecList.java2
-rw-r--r--media/java/android/media/MediaScanner.java4
-rw-r--r--media/java/android/media/Ringtone.java47
-rw-r--r--[-rwxr-xr-x]media/java/android/media/audiofx/Visualizer.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/AudioTrack.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/Effect.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/EffectColor.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/EffectKenBurns.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/ExtractAudioWaveformProgressListener.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/MediaImageItem.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/MediaItem.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/MediaProperties.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/MediaVideoItem.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/Overlay.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/OverlayFrame.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/Transition.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/TransitionAlpha.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/TransitionCrossfade.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/TransitionFadeBlack.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/TransitionSliding.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/VideoEditor.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/VideoEditorFactory.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/VideoEditorImpl.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/VideoEditorProfile.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/media/videoeditor/WaveformData.java0
-rw-r--r--[-rwxr-xr-x]media/java/android/mtp/MtpDatabase.java0
28 files changed, 67 insertions, 4 deletions
diff --git a/media/java/android/media/IAudioFocusDispatcher.aidl b/media/java/android/media/IAudioFocusDispatcher.aidl
index 09575f7..09575f7 100755..100644
--- a/media/java/android/media/IAudioFocusDispatcher.aidl
+++ b/media/java/android/media/IAudioFocusDispatcher.aidl
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 99db066..d5515eb 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -16,6 +16,8 @@
package android.media;
+import android.media.MediaCodecInfo;
+import android.media.MediaCodecList;
import android.media.MediaCrypto;
import android.media.MediaFormat;
import android.view.Surface;
@@ -498,6 +500,22 @@ final public class MediaCodec {
*/
public native final void setVideoScalingMode(int mode);
+ /**
+ * Get the component name. If the codec was created by createDecoderByType
+ * or createEncoderByType, what component is chosen is not known beforehand.
+ */
+ public native final String getName();
+
+ /**
+ * Get the codec info. If the codec was created by createDecoderByType
+ * or createEncoderByType, what component is chosen is not known beforehand,
+ * and thus the caller does not have the MediaCodecInfo.
+ */
+ public MediaCodecInfo getCodecInfo() {
+ return MediaCodecList.getCodecInfoAt(
+ MediaCodecList.findCodecByName(getName()));
+ }
+
private native final ByteBuffer[] getBuffers(boolean input);
private static native final void native_init();
diff --git a/media/java/android/media/MediaCodecList.java b/media/java/android/media/MediaCodecList.java
index 1749934..2a60113 100644
--- a/media/java/android/media/MediaCodecList.java
+++ b/media/java/android/media/MediaCodecList.java
@@ -46,6 +46,8 @@ final public class MediaCodecList {
/* package private */ static native final MediaCodecInfo.CodecCapabilities
getCodecCapabilities(int index, String type);
+ /* package private */ static native final int findCodecByName(String codec);
+
private static native final void native_init();
private MediaCodecList() {}
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 88cf4ac..0117d73 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -283,7 +283,7 @@ public class MediaScanner
"Terror",
"Indie",
"Britpop",
- "Negerpunk",
+ null,
"Polsk Punk",
"Beat",
"Christian Gangsta",
@@ -700,7 +700,7 @@ public class MediaScanner
try {
short genreIndex = Short.parseShort(number.toString());
if (genreIndex >= 0) {
- if (genreIndex < ID3_GENRES.length) {
+ if (genreIndex < ID3_GENRES.length && ID3_GENRES[genreIndex] != null) {
return ID3_GENRES[genreIndex];
} else if (genreIndex == 0xFF) {
return null;
diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java
index f190eb9..ebbfad9 100644
--- a/media/java/android/media/Ringtone.java
+++ b/media/java/android/media/Ringtone.java
@@ -18,6 +18,8 @@ package android.media;
import android.content.ContentResolver;
import android.content.Context;
+import android.content.res.AssetFileDescriptor;
+import android.content.res.Resources.NotFoundException;
import android.database.Cursor;
import android.net.Uri;
import android.os.Binder;
@@ -229,10 +231,14 @@ public class Ringtone {
try {
mRemotePlayer.play(mRemoteToken, canonicalUri, mStreamType);
} catch (RemoteException e) {
- Log.w(TAG, "Problem playing ringtone: " + e);
+ if (!playFallbackRingtone()) {
+ Log.w(TAG, "Problem playing ringtone: " + e);
+ }
}
} else {
- Log.w(TAG, "Neither local nor remote playback available");
+ if (!playFallbackRingtone()) {
+ Log.w(TAG, "Neither local nor remote playback available");
+ }
}
}
@@ -280,6 +286,43 @@ public class Ringtone {
}
}
+ private boolean playFallbackRingtone() {
+ if (mAudioManager.getStreamVolume(mStreamType) != 0) {
+ int ringtoneType = RingtoneManager.getDefaultType(mUri);
+ if (ringtoneType != -1 &&
+ RingtoneManager.getActualDefaultRingtoneUri(mContext, ringtoneType) != null) {
+ // Default ringtone, try fallback ringtone.
+ try {
+ AssetFileDescriptor afd = mContext.getResources().openRawResourceFd(
+ com.android.internal.R.raw.fallbackring);
+ if (afd != null) {
+ mLocalPlayer = new MediaPlayer();
+ if (afd.getDeclaredLength() < 0) {
+ mLocalPlayer.setDataSource(afd.getFileDescriptor());
+ } else {
+ mLocalPlayer.setDataSource(afd.getFileDescriptor(),
+ afd.getStartOffset(),
+ afd.getDeclaredLength());
+ }
+ mLocalPlayer.setAudioStreamType(mStreamType);
+ mLocalPlayer.prepare();
+ mLocalPlayer.start();
+ afd.close();
+ return true;
+ } else {
+ Log.e(TAG, "Could not load fallback ringtone");
+ }
+ } catch (IOException ioe) {
+ destroyLocalPlayer();
+ Log.e(TAG, "Failed to open fallback ringtone");
+ } catch (NotFoundException nfe) {
+ Log.e(TAG, "Fallback ringtone does not exist");
+ }
+ }
+ }
+ return false;
+ }
+
void setTitle(String title) {
mTitle = title;
}
diff --git a/media/java/android/media/audiofx/Visualizer.java b/media/java/android/media/audiofx/Visualizer.java
index 9197ed8..9197ed8 100755..100644
--- a/media/java/android/media/audiofx/Visualizer.java
+++ b/media/java/android/media/audiofx/Visualizer.java
diff --git a/media/java/android/media/videoeditor/AudioTrack.java b/media/java/android/media/videoeditor/AudioTrack.java
index c5cc2ca..c5cc2ca 100755..100644
--- a/media/java/android/media/videoeditor/AudioTrack.java
+++ b/media/java/android/media/videoeditor/AudioTrack.java
diff --git a/media/java/android/media/videoeditor/Effect.java b/media/java/android/media/videoeditor/Effect.java
index 2f7ae03..2f7ae03 100755..100644
--- a/media/java/android/media/videoeditor/Effect.java
+++ b/media/java/android/media/videoeditor/Effect.java
diff --git a/media/java/android/media/videoeditor/EffectColor.java b/media/java/android/media/videoeditor/EffectColor.java
index 6c5ac2d..6c5ac2d 100755..100644
--- a/media/java/android/media/videoeditor/EffectColor.java
+++ b/media/java/android/media/videoeditor/EffectColor.java
diff --git a/media/java/android/media/videoeditor/EffectKenBurns.java b/media/java/android/media/videoeditor/EffectKenBurns.java
index 64be6b8..64be6b8 100755..100644
--- a/media/java/android/media/videoeditor/EffectKenBurns.java
+++ b/media/java/android/media/videoeditor/EffectKenBurns.java
diff --git a/media/java/android/media/videoeditor/ExtractAudioWaveformProgressListener.java b/media/java/android/media/videoeditor/ExtractAudioWaveformProgressListener.java
index 7ba7de3..7ba7de3 100755..100644
--- a/media/java/android/media/videoeditor/ExtractAudioWaveformProgressListener.java
+++ b/media/java/android/media/videoeditor/ExtractAudioWaveformProgressListener.java
diff --git a/media/java/android/media/videoeditor/MediaImageItem.java b/media/java/android/media/videoeditor/MediaImageItem.java
index 590b4ae..590b4ae 100755..100644
--- a/media/java/android/media/videoeditor/MediaImageItem.java
+++ b/media/java/android/media/videoeditor/MediaImageItem.java
diff --git a/media/java/android/media/videoeditor/MediaItem.java b/media/java/android/media/videoeditor/MediaItem.java
index 4e9ea75..4e9ea75 100755..100644
--- a/media/java/android/media/videoeditor/MediaItem.java
+++ b/media/java/android/media/videoeditor/MediaItem.java
diff --git a/media/java/android/media/videoeditor/MediaProperties.java b/media/java/android/media/videoeditor/MediaProperties.java
index cf518a5..cf518a5 100755..100644
--- a/media/java/android/media/videoeditor/MediaProperties.java
+++ b/media/java/android/media/videoeditor/MediaProperties.java
diff --git a/media/java/android/media/videoeditor/MediaVideoItem.java b/media/java/android/media/videoeditor/MediaVideoItem.java
index bbcdf57..bbcdf57 100755..100644
--- a/media/java/android/media/videoeditor/MediaVideoItem.java
+++ b/media/java/android/media/videoeditor/MediaVideoItem.java
diff --git a/media/java/android/media/videoeditor/Overlay.java b/media/java/android/media/videoeditor/Overlay.java
index a070eb4..a070eb4 100755..100644
--- a/media/java/android/media/videoeditor/Overlay.java
+++ b/media/java/android/media/videoeditor/Overlay.java
diff --git a/media/java/android/media/videoeditor/OverlayFrame.java b/media/java/android/media/videoeditor/OverlayFrame.java
index d159df2..d159df2 100755..100644
--- a/media/java/android/media/videoeditor/OverlayFrame.java
+++ b/media/java/android/media/videoeditor/OverlayFrame.java
diff --git a/media/java/android/media/videoeditor/Transition.java b/media/java/android/media/videoeditor/Transition.java
index fa9d26d..fa9d26d 100755..100644
--- a/media/java/android/media/videoeditor/Transition.java
+++ b/media/java/android/media/videoeditor/Transition.java
diff --git a/media/java/android/media/videoeditor/TransitionAlpha.java b/media/java/android/media/videoeditor/TransitionAlpha.java
index 22788d4..22788d4 100755..100644
--- a/media/java/android/media/videoeditor/TransitionAlpha.java
+++ b/media/java/android/media/videoeditor/TransitionAlpha.java
diff --git a/media/java/android/media/videoeditor/TransitionCrossfade.java b/media/java/android/media/videoeditor/TransitionCrossfade.java
index 417c64e..417c64e 100755..100644
--- a/media/java/android/media/videoeditor/TransitionCrossfade.java
+++ b/media/java/android/media/videoeditor/TransitionCrossfade.java
diff --git a/media/java/android/media/videoeditor/TransitionFadeBlack.java b/media/java/android/media/videoeditor/TransitionFadeBlack.java
index da07cf0..da07cf0 100755..100644
--- a/media/java/android/media/videoeditor/TransitionFadeBlack.java
+++ b/media/java/android/media/videoeditor/TransitionFadeBlack.java
diff --git a/media/java/android/media/videoeditor/TransitionSliding.java b/media/java/android/media/videoeditor/TransitionSliding.java
index 57610ab..57610ab 100755..100644
--- a/media/java/android/media/videoeditor/TransitionSliding.java
+++ b/media/java/android/media/videoeditor/TransitionSliding.java
diff --git a/media/java/android/media/videoeditor/VideoEditor.java b/media/java/android/media/videoeditor/VideoEditor.java
index 08d27d4..08d27d4 100755..100644
--- a/media/java/android/media/videoeditor/VideoEditor.java
+++ b/media/java/android/media/videoeditor/VideoEditor.java
diff --git a/media/java/android/media/videoeditor/VideoEditorFactory.java b/media/java/android/media/videoeditor/VideoEditorFactory.java
index 85c329f..85c329f 100755..100644
--- a/media/java/android/media/videoeditor/VideoEditorFactory.java
+++ b/media/java/android/media/videoeditor/VideoEditorFactory.java
diff --git a/media/java/android/media/videoeditor/VideoEditorImpl.java b/media/java/android/media/videoeditor/VideoEditorImpl.java
index 2446c2f..2446c2f 100755..100644
--- a/media/java/android/media/videoeditor/VideoEditorImpl.java
+++ b/media/java/android/media/videoeditor/VideoEditorImpl.java
diff --git a/media/java/android/media/videoeditor/VideoEditorProfile.java b/media/java/android/media/videoeditor/VideoEditorProfile.java
index 202a2df..202a2df 100755..100644
--- a/media/java/android/media/videoeditor/VideoEditorProfile.java
+++ b/media/java/android/media/videoeditor/VideoEditorProfile.java
diff --git a/media/java/android/media/videoeditor/WaveformData.java b/media/java/android/media/videoeditor/WaveformData.java
index 6c10e3c..6c10e3c 100755..100644
--- a/media/java/android/media/videoeditor/WaveformData.java
+++ b/media/java/android/media/videoeditor/WaveformData.java
diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java
index 487585e..487585e 100755..100644
--- a/media/java/android/mtp/MtpDatabase.java
+++ b/media/java/android/mtp/MtpDatabase.java