blob: ad2358e6e5cd887c57ed6bb7882901d226038db7 [file] [log] [blame]
/**
* Copyright (c) 2019, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.media;
import android.media.ITranscodingClient;
import android.media.ITranscodingClientCallback;
import android.media.TranscodingSessionParcel;
import android.media.TranscodingRequestParcel;
/**
* Binder interface for MediaTranscodingService.
*
* {@hide}
*/
interface IMediaTranscodingService {
/**
* All MediaTranscoding service and device Binder calls may return a
* ServiceSpecificException with the following error codes
*/
const int ERROR_PERMISSION_DENIED = 1;
const int ERROR_ALREADY_EXISTS = 2;
const int ERROR_ILLEGAL_ARGUMENT = 3;
const int ERROR_DISCONNECTED = 4;
const int ERROR_TIMED_OUT = 5;
const int ERROR_DISABLED = 6;
const int ERROR_INVALID_OPERATION = 7;
/**
* Default UID/PID values for non-privileged callers of
* registerClient().
*/
const int USE_CALLING_UID = -1;
const int USE_CALLING_PID = -1;
/**
* Register the client with the MediaTranscodingService.
*
* Client must call this function to register itself with the service in
* order to perform transcoding tasks. This function will return an
* ITranscodingClient interface object. The client should save and use it
* for all future transactions with the service.
*
* @param callback client interface for the MediaTranscodingService to call
* the client.
* @param clientName name of the client.
* @param opPackageName op package name of the client.
* @return an ITranscodingClient interface object, with nullptr indicating
* failure to register.
*/
ITranscodingClient registerClient(
in ITranscodingClientCallback callback,
in String clientName,
in String opPackageName);
/**
* Returns the number of clients. This is used for debugging.
*/
int getNumOfClients();
}