Merge "Rename android.media.MediaTranscodeManager -> MediaTranscodingManager" into sc-dev
This commit is contained in:
@@ -120,7 +120,7 @@ filegroup {
|
|||||||
srcs: [
|
srcs: [
|
||||||
"java/android/media/ApplicationMediaCapabilities.java",
|
"java/android/media/ApplicationMediaCapabilities.java",
|
||||||
"java/android/media/MediaFeature.java",
|
"java/android/media/MediaFeature.java",
|
||||||
"java/android/media/MediaTranscodeManager.java",
|
"java/android/media/MediaTranscodingManager.java",
|
||||||
],
|
],
|
||||||
path: "java",
|
path: "java",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
// Signature format: 2.0
|
// Signature format: 2.0
|
||||||
package android.media {
|
package android.media {
|
||||||
|
|
||||||
public final class MediaTranscodeManager {
|
public final class MediaTranscodingManager {
|
||||||
method @Nullable public android.media.MediaTranscodeManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodeManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodeManager.OnTranscodingFinishedListener);
|
method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@java.lang.FunctionalInterface public static interface MediaTranscodeManager.OnTranscodingFinishedListener {
|
@java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
|
||||||
method public void onTranscodingFinished(@NonNull android.media.MediaTranscodeManager.TranscodingSession);
|
method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract static class MediaTranscodeManager.TranscodingRequest {
|
public abstract static class MediaTranscodingManager.TranscodingRequest {
|
||||||
method public int getClientPid();
|
method public int getClientPid();
|
||||||
method public int getClientUid();
|
method public int getClientUid();
|
||||||
method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
|
method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
|
||||||
@@ -18,13 +18,13 @@ package android.media {
|
|||||||
method @NonNull public android.net.Uri getSourceUri();
|
method @NonNull public android.net.Uri getSourceUri();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MediaTranscodeManager.TranscodingRequest.VideoFormatResolver {
|
public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
|
||||||
ctor public MediaTranscodeManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
|
ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
|
||||||
method @Nullable public android.media.MediaFormat resolveVideoFormat();
|
method @Nullable public android.media.MediaFormat resolveVideoFormat();
|
||||||
method public boolean shouldTranscode();
|
method public boolean shouldTranscode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class MediaTranscodeManager.TranscodingSession {
|
public static final class MediaTranscodingManager.TranscodingSession {
|
||||||
method public boolean addClientUid(int);
|
method public boolean addClientUid(int);
|
||||||
method public void cancel();
|
method public void cancel();
|
||||||
method @NonNull public java.util.List<java.lang.Integer> getClientUids();
|
method @NonNull public java.util.List<java.lang.Integer> getClientUids();
|
||||||
@@ -33,7 +33,7 @@ package android.media {
|
|||||||
method public int getResult();
|
method public int getResult();
|
||||||
method public int getSessionId();
|
method public int getSessionId();
|
||||||
method public int getStatus();
|
method public int getStatus();
|
||||||
method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodeManager.TranscodingSession.OnProgressUpdateListener);
|
method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
|
||||||
field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
|
field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
|
||||||
field public static final int ERROR_NONE = 0; // 0x0
|
field public static final int ERROR_NONE = 0; // 0x0
|
||||||
field public static final int ERROR_SERVICE_DIED = 2; // 0x2
|
field public static final int ERROR_SERVICE_DIED = 2; // 0x2
|
||||||
@@ -47,21 +47,21 @@ package android.media {
|
|||||||
field public static final int STATUS_RUNNING = 2; // 0x2
|
field public static final int STATUS_RUNNING = 2; // 0x2
|
||||||
}
|
}
|
||||||
|
|
||||||
@java.lang.FunctionalInterface public static interface MediaTranscodeManager.TranscodingSession.OnProgressUpdateListener {
|
@java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
|
||||||
method public void onProgressUpdate(@NonNull android.media.MediaTranscodeManager.TranscodingSession, @IntRange(from=0, to=100) int);
|
method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class MediaTranscodeManager.VideoTranscodingRequest extends android.media.MediaTranscodeManager.TranscodingRequest {
|
public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
|
||||||
method @NonNull public android.media.MediaFormat getVideoTrackFormat();
|
method @NonNull public android.media.MediaFormat getVideoTrackFormat();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class MediaTranscodeManager.VideoTranscodingRequest.Builder {
|
public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
|
||||||
ctor public MediaTranscodeManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
|
ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
|
||||||
method @NonNull public android.media.MediaTranscodeManager.VideoTranscodingRequest build();
|
method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
|
||||||
method @NonNull public android.media.MediaTranscodeManager.VideoTranscodingRequest.Builder setClientPid(int);
|
method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
|
||||||
method @NonNull public android.media.MediaTranscodeManager.VideoTranscodingRequest.Builder setClientUid(int);
|
method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
|
||||||
method @NonNull public android.media.MediaTranscodeManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
|
method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
|
||||||
method @NonNull public android.media.MediaTranscodeManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
|
method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ public class MediaFrameworkInitializer {
|
|||||||
public static void registerServiceWrappers() {
|
public static void registerServiceWrappers() {
|
||||||
SystemServiceRegistry.registerContextAwareService(
|
SystemServiceRegistry.registerContextAwareService(
|
||||||
Context.MEDIA_TRANSCODING_SERVICE,
|
Context.MEDIA_TRANSCODING_SERVICE,
|
||||||
MediaTranscodeManager.class,
|
MediaTranscodingManager.class,
|
||||||
context -> new MediaTranscodeManager(context)
|
context -> new MediaTranscodingManager(context)
|
||||||
);
|
);
|
||||||
if (SdkLevel.isAtLeastS()) {
|
if (SdkLevel.isAtLeastS()) {
|
||||||
SystemServiceRegistry.registerContextAwareService(
|
SystemServiceRegistry.registerContextAwareService(
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ import java.util.concurrent.Executors;
|
|||||||
/**
|
/**
|
||||||
Android 12 introduces Compatible media transcoding feature. See
|
Android 12 introduces Compatible media transcoding feature. See
|
||||||
<a href="https://developer.android.com/about/versions/12/features#compatible_media_transcoding">
|
<a href="https://developer.android.com/about/versions/12/features#compatible_media_transcoding">
|
||||||
Compatible media transcoding</a>. MediaTranscodeManager provides an interface to the system's media
|
Compatible media transcoding</a>. MediaTranscodingManager provides an interface to the system's media
|
||||||
transcoding service and can be used to transcode media files, e.g. transcoding a video from HEVC to
|
transcoding service and can be used to transcode media files, e.g. transcoding a video from HEVC to
|
||||||
AVC.
|
AVC.
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ import java.util.concurrent.Executors;
|
|||||||
<p>
|
<p>
|
||||||
To transcode a media file, first create a {@link TranscodingRequest} through its builder class
|
To transcode a media file, first create a {@link TranscodingRequest} through its builder class
|
||||||
{@link VideoTranscodingRequest.Builder}. Transcode requests are then enqueue to the manager through
|
{@link VideoTranscodingRequest.Builder}. Transcode requests are then enqueue to the manager through
|
||||||
{@link MediaTranscodeManager#enqueueRequest(
|
{@link MediaTranscodingManager#enqueueRequest(
|
||||||
TranscodingRequest, Executor, OnTranscodingFinishedListener)}
|
TranscodingRequest, Executor, OnTranscodingFinishedListener)}
|
||||||
TranscodeRequest are processed based on client process's priority and request priority. When a
|
TranscodeRequest are processed based on client process's priority and request priority. When a
|
||||||
transcode operation is completed the caller is notified via its
|
transcode operation is completed the caller is notified via its
|
||||||
@@ -87,8 +87,8 @@ import java.util.concurrent.Executors;
|
|||||||
*/
|
*/
|
||||||
@MinSdk(Build.VERSION_CODES.S)
|
@MinSdk(Build.VERSION_CODES.S)
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public final class MediaTranscodeManager {
|
public final class MediaTranscodingManager {
|
||||||
private static final String TAG = "MediaTranscodeManager";
|
private static final String TAG = "MediaTranscodingManager";
|
||||||
|
|
||||||
/** Maximum number of retry to connect to the service. */
|
/** Maximum number of retry to connect to the service. */
|
||||||
private static final int CONNECT_SERVICE_RETRY_COUNT = 100;
|
private static final int CONNECT_SERVICE_RETRY_COUNT = 100;
|
||||||
@@ -127,7 +127,7 @@ public final class MediaTranscodeManager {
|
|||||||
private final Object mLock = new Object();
|
private final Object mLock = new Object();
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
@NonNull private ITranscodingClient mTranscodingClient = null;
|
@NonNull private ITranscodingClient mTranscodingClient = null;
|
||||||
private static MediaTranscodeManager sMediaTranscodeManager;
|
private static MediaTranscodingManager sMediaTranscodingManager;
|
||||||
|
|
||||||
private void handleTranscodingFinished(int sessionId, TranscodingResultParcel result) {
|
private void handleTranscodingFinished(int sessionId, TranscodingResultParcel result) {
|
||||||
synchronized (mPendingTranscodingSessions) {
|
synchronized (mPendingTranscodingSessions) {
|
||||||
@@ -306,7 +306,7 @@ public final class MediaTranscodeManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Do not set hasRetried for retry initiated by MediaTranscodeManager.
|
// Do not set hasRetried for retry initiated by MediaTranscodingManager.
|
||||||
session.retryInternal(false /*setHasRetried*/);
|
session.retryInternal(false /*setHasRetried*/);
|
||||||
} catch (Exception re) {
|
} catch (Exception re) {
|
||||||
// TODO(hkuang): Return correct error code to the client.
|
// TODO(hkuang): Return correct error code to the client.
|
||||||
@@ -423,7 +423,7 @@ public final class MediaTranscodeManager {
|
|||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public MediaTranscodeManager(@NonNull Context context) {
|
public MediaTranscodingManager(@NonNull Context context) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mContentResolver = mContext.getContentResolver();
|
mContentResolver = mContext.getContentResolver();
|
||||||
mPackageName = mContext.getPackageName();
|
mPackageName = mContext.getPackageName();
|
||||||
@@ -1348,7 +1348,7 @@ public final class MediaTranscodeManager {
|
|||||||
@IntRange(from = 0, to = 100) int progress);
|
@IntRange(from = 0, to = 100) int progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final MediaTranscodeManager mManager;
|
private final MediaTranscodingManager mManager;
|
||||||
private Executor mListenerExecutor;
|
private Executor mListenerExecutor;
|
||||||
private OnTranscodingFinishedListener mListener;
|
private OnTranscodingFinishedListener mListener;
|
||||||
private int mSessionId = -1;
|
private int mSessionId = -1;
|
||||||
@@ -1374,7 +1374,7 @@ public final class MediaTranscodeManager {
|
|||||||
private final TranscodingRequest mRequest;
|
private final TranscodingRequest mRequest;
|
||||||
|
|
||||||
private TranscodingSession(
|
private TranscodingSession(
|
||||||
@NonNull MediaTranscodeManager manager,
|
@NonNull MediaTranscodingManager manager,
|
||||||
@NonNull TranscodingRequest request,
|
@NonNull TranscodingRequest request,
|
||||||
@NonNull TranscodingSessionParcel parcel,
|
@NonNull TranscodingSessionParcel parcel,
|
||||||
@NonNull @CallbackExecutor Executor executor,
|
@NonNull @CallbackExecutor Executor executor,
|
||||||
@@ -1675,10 +1675,10 @@ public final class MediaTranscodeManager {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Enqueues a TranscodingRequest for execution.
|
* Enqueues a TranscodingRequest for execution.
|
||||||
* <p> Upon successfully accepting the request, MediaTranscodeManager will return a
|
* <p> Upon successfully accepting the request, MediaTranscodingManager will return a
|
||||||
* {@link TranscodingSession} to the client. Client should use {@link TranscodingSession} to
|
* {@link TranscodingSession} to the client. Client should use {@link TranscodingSession} to
|
||||||
* track the progress and get the result.
|
* track the progress and get the result.
|
||||||
* <p> MediaTranscodeManager will return null if fails to accept the request due to service
|
* <p> MediaTranscodingManager will return null if fails to accept the request due to service
|
||||||
* rebooting. Client could retry again after receiving null.
|
* rebooting. Client could retry again after receiving null.
|
||||||
*
|
*
|
||||||
* @param transcodingRequest The TranscodingRequest to enqueue.
|
* @param transcodingRequest The TranscodingRequest to enqueue.
|
||||||
@@ -4464,11 +4464,11 @@ public abstract class Context {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Use with {@link #getSystemService(String)} to retrieve a {@link
|
* Use with {@link #getSystemService(String)} to retrieve a {@link
|
||||||
* android.media.MediaTranscodeManager} for transcoding media.
|
* android.media.MediaTranscodingManager} for transcoding media.
|
||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
* @see #getSystemService(String)
|
* @see #getSystemService(String)
|
||||||
* @see android.media.MediaTranscodeManager
|
* @see android.media.MediaTranscodingManager
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
|
public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
|
||||||
|
|||||||
Reference in New Issue
Block a user