Merge "transcoding: Do not throw exception in registerClient." into sc-dev
This commit is contained in:
@@ -295,8 +295,8 @@ public final class MediaTranscodeManager {
|
|||||||
/* ignore */
|
/* ignore */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Log.w(TAG, "Failed to get service");
|
||||||
throw new UnsupportedOperationException("Failed to connect to MediaTranscoding service");
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -463,8 +463,7 @@ public final class MediaTranscodeManager {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private ITranscodingClient registerClient(IMediaTranscodingService service)
|
private ITranscodingClient registerClient(IMediaTranscodingService service) {
|
||||||
throws UnsupportedOperationException {
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
try {
|
try {
|
||||||
// Registers the client with MediaTranscoding service.
|
// Registers the client with MediaTranscoding service.
|
||||||
@@ -476,13 +475,12 @@ public final class MediaTranscodeManager {
|
|||||||
if (mTranscodingClient != null) {
|
if (mTranscodingClient != null) {
|
||||||
mTranscodingClient.asBinder().linkToDeath(() -> onClientDied(), /* flags */ 0);
|
mTranscodingClient.asBinder().linkToDeath(() -> onClientDied(), /* flags */ 0);
|
||||||
}
|
}
|
||||||
return mTranscodingClient;
|
} catch (Exception ex) {
|
||||||
} catch (RemoteException re) {
|
Log.e(TAG, "Failed to register new client due to exception " + ex);
|
||||||
Log.e(TAG, "Failed to register new client due to exception " + re);
|
|
||||||
mTranscodingClient = null;
|
mTranscodingClient = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new UnsupportedOperationException("Failed to register new client");
|
return mTranscodingClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -495,7 +493,9 @@ public final class MediaTranscodeManager {
|
|||||||
mUid = Os.getuid();
|
mUid = Os.getuid();
|
||||||
mPid = Os.getpid();
|
mPid = Os.getpid();
|
||||||
IMediaTranscodingService service = getService(false /*retry*/);
|
IMediaTranscodingService service = getService(false /*retry*/);
|
||||||
mTranscodingClient = registerClient(service);
|
if (service != null) {
|
||||||
|
mTranscodingClient = registerClient(service);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class TranscodingRequest {
|
public static final class TranscodingRequest {
|
||||||
@@ -1567,6 +1567,10 @@ public final class MediaTranscodeManager {
|
|||||||
if (mTranscodingClient == null) {
|
if (mTranscodingClient == null) {
|
||||||
// Try to register with the service again.
|
// Try to register with the service again.
|
||||||
IMediaTranscodingService service = getService(false /*retry*/);
|
IMediaTranscodingService service = getService(false /*retry*/);
|
||||||
|
if (service == null) {
|
||||||
|
throw new MediaTranscodingException.ServiceNotAvailableException(
|
||||||
|
"Service rebooting. Try again later");
|
||||||
|
}
|
||||||
mTranscodingClient = registerClient(service);
|
mTranscodingClient = registerClient(service);
|
||||||
// If still fails, throws an exception to tell client to try later.
|
// If still fails, throws an exception to tell client to try later.
|
||||||
if (mTranscodingClient == null) {
|
if (mTranscodingClient == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user