Skip to content

Commit 73fc533

Browse files
author
Rachad
committed
Added Tunneled video playback support to MediaCodec
Bug:16132368 Change-Id: I8c28cd9fbf3ca2d441f5ffa6892fbc5f70184908
1 parent c1bf40f commit 73fc533

3 files changed

Lines changed: 15 additions & 5 deletions

File tree

api/current.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15093,6 +15093,7 @@ package android.media {
1509315093
field public static final java.lang.String KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT = "aac-max-output-channel_count";
1509415094
field public static final java.lang.String KEY_AAC_PROFILE = "aac-profile";
1509515095
field public static final java.lang.String KEY_AAC_SBR_MODE = "aac-sbr-mode";
15096+
field public static final java.lang.String KEY_AUDIO_SESSION_ID = "audio-session-id";
1509615097
field public static final java.lang.String KEY_BITRATE_MODE = "bitrate-mode";
1509715098
field public static final java.lang.String KEY_BIT_RATE = "bitrate";
1509815099
field public static final java.lang.String KEY_CAPTURE_RATE = "capture-rate";
@@ -15118,7 +15119,6 @@ package android.media {
1511815119
field public static final java.lang.String KEY_PROFILE = "profile";
1511915120
field public static final java.lang.String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown";
1512015121
field public static final java.lang.String KEY_QUALITY = "quality";
15121-
field public static final java.lang.String KEY_REFERENCE_CLOCK_ID = "reference-clock-id";
1512215122
field public static final java.lang.String KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after";
1512315123
field public static final java.lang.String KEY_SAMPLE_RATE = "sample-rate";
1512415124
field public static final java.lang.String KEY_TEMPORAL_LAYERING = "ts-schema";

media/java/android/media/MediaCodec.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,8 +502,17 @@ public void configure(
502502

503503
int i = 0;
504504
for (Map.Entry<String, Object> entry: formatMap.entrySet()) {
505-
keys[i] = entry.getKey();
506-
values[i] = entry.getValue();
505+
if (entry.getKey().equals(MediaFormat.KEY_AUDIO_SESSION_ID)) {
506+
// TODO: Wire up as soon as AudioService is ready. Check entry.getValue() for
507+
// non-integral type.
508+
// long audioHwSync = audioService.getAudioHwSyncForSession(entry.getValue());
509+
long audioHwSync = 0;
510+
keys[i] = "audio-hw-sync";
511+
values[i] = audioHwSync;
512+
} else {
513+
keys[i] = entry.getKey();
514+
values[i] = entry.getValue();
515+
}
507516
++i;
508517
}
509518
}

media/java/android/media/MediaFormat.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,12 +444,13 @@ public final class MediaFormat {
444444
public static final String KEY_BITRATE_MODE = "bitrate-mode";
445445

446446
/**
447-
* A key describing the reference clock ID for a tunneled codec.
447+
* A key describing the audio session ID of the AudioTrack associated
448+
* to a tunneled video codec.
448449
* The associated value is an integer.
449450
*
450451
* @see MediaCodecInfo.CodecCapabilities#FEATURE_TunneledPlayback
451452
*/
452-
public static final String KEY_REFERENCE_CLOCK_ID = "reference-clock-id";
453+
public static final String KEY_AUDIO_SESSION_ID = "audio-session-id";
453454

454455
/**
455456
* A key for boolean AUTOSELECT behavior for the track. Tracks with AUTOSELECT=true

0 commit comments

Comments
 (0)