Loading media/libmediatranscoding/TranscoderWrapper.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <media/MediaTranscoder.h> #include <media/NdkCommon.h> #include <media/TranscoderWrapper.h> #include <media/TranscodingRequest.h> #include <utils/Log.h> #include <thread> Loading Loading @@ -221,9 +222,10 @@ void TranscoderWrapper::reportError(ClientIdType clientId, SessionIdType session } void TranscoderWrapper::start(ClientIdType clientId, SessionIdType sessionId, const TranscodingRequestParcel& request, uid_t callingUid, const TranscodingRequestParcel& requestParcel, uid_t callingUid, const std::shared_ptr<ITranscodingClientCallback>& clientCb) { queueEvent(Event::Start, clientId, sessionId, [=, &request] { TranscodingRequest request{requestParcel}; queueEvent(Event::Start, clientId, sessionId, [=] { media_status_t err = handleStart(clientId, sessionId, request, callingUid, clientCb); if (err != AMEDIA_OK) { cleanup(); Loading Loading @@ -255,9 +257,10 @@ void TranscoderWrapper::pause(ClientIdType clientId, SessionIdType sessionId) { } void TranscoderWrapper::resume(ClientIdType clientId, SessionIdType sessionId, const TranscodingRequestParcel& request, uid_t callingUid, const TranscodingRequestParcel& requestParcel, uid_t callingUid, const std::shared_ptr<ITranscodingClientCallback>& clientCb) { queueEvent(Event::Resume, clientId, sessionId, [=, &request] { TranscodingRequest request{requestParcel}; queueEvent(Event::Resume, clientId, sessionId, [=] { media_status_t err = handleResume(clientId, sessionId, request, callingUid, clientCb); if (err != AMEDIA_OK) { cleanup(); Loading media/libmediatranscoding/include/media/TranscodingRequest.h +26 −14 Original line number Diff line number Diff line Loading @@ -18,11 +18,15 @@ #define ANDROID_MEDIA_TRANSCODING_REQUEST_H #include <aidl/android/media/TranscodingRequestParcel.h> #include <android/binder_parcel.h> namespace android { using ::aidl::android::media::TranscodingRequestParcel; // TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708) #define __TRANSCODING_MIN_API__ __ANDROID_API_FUTURE__ // Helper class for duplicating a TranscodingRequestParcel class TranscodingRequest : public TranscodingRequestParcel { public: Loading @@ -36,6 +40,13 @@ public: private: void setTo(const TranscodingRequestParcel& parcel) { if (__builtin_available(android __TRANSCODING_MIN_API__, *)) { AParcel* p = AParcel_create(); parcel.writeToParcel(p); AParcel_setDataPosition(p, 0); readFromParcel(p); AParcel_delete(p); } else { sourceFilePath = parcel.sourceFilePath; sourceFd = ndk::ScopedFileDescriptor(dup(parcel.sourceFd.get())); destinationFilePath = parcel.destinationFilePath; Loading @@ -51,6 +62,7 @@ private: isForTesting = parcel.isForTesting; testConfig = parcel.testConfig; } } }; } // namespace android Loading Loading
media/libmediatranscoding/TranscoderWrapper.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <media/MediaTranscoder.h> #include <media/NdkCommon.h> #include <media/TranscoderWrapper.h> #include <media/TranscodingRequest.h> #include <utils/Log.h> #include <thread> Loading Loading @@ -221,9 +222,10 @@ void TranscoderWrapper::reportError(ClientIdType clientId, SessionIdType session } void TranscoderWrapper::start(ClientIdType clientId, SessionIdType sessionId, const TranscodingRequestParcel& request, uid_t callingUid, const TranscodingRequestParcel& requestParcel, uid_t callingUid, const std::shared_ptr<ITranscodingClientCallback>& clientCb) { queueEvent(Event::Start, clientId, sessionId, [=, &request] { TranscodingRequest request{requestParcel}; queueEvent(Event::Start, clientId, sessionId, [=] { media_status_t err = handleStart(clientId, sessionId, request, callingUid, clientCb); if (err != AMEDIA_OK) { cleanup(); Loading Loading @@ -255,9 +257,10 @@ void TranscoderWrapper::pause(ClientIdType clientId, SessionIdType sessionId) { } void TranscoderWrapper::resume(ClientIdType clientId, SessionIdType sessionId, const TranscodingRequestParcel& request, uid_t callingUid, const TranscodingRequestParcel& requestParcel, uid_t callingUid, const std::shared_ptr<ITranscodingClientCallback>& clientCb) { queueEvent(Event::Resume, clientId, sessionId, [=, &request] { TranscodingRequest request{requestParcel}; queueEvent(Event::Resume, clientId, sessionId, [=] { media_status_t err = handleResume(clientId, sessionId, request, callingUid, clientCb); if (err != AMEDIA_OK) { cleanup(); Loading
media/libmediatranscoding/include/media/TranscodingRequest.h +26 −14 Original line number Diff line number Diff line Loading @@ -18,11 +18,15 @@ #define ANDROID_MEDIA_TRANSCODING_REQUEST_H #include <aidl/android/media/TranscodingRequestParcel.h> #include <android/binder_parcel.h> namespace android { using ::aidl::android::media::TranscodingRequestParcel; // TODO: replace __ANDROID_API_FUTURE__with 31 when it's official (b/178144708) #define __TRANSCODING_MIN_API__ __ANDROID_API_FUTURE__ // Helper class for duplicating a TranscodingRequestParcel class TranscodingRequest : public TranscodingRequestParcel { public: Loading @@ -36,6 +40,13 @@ public: private: void setTo(const TranscodingRequestParcel& parcel) { if (__builtin_available(android __TRANSCODING_MIN_API__, *)) { AParcel* p = AParcel_create(); parcel.writeToParcel(p); AParcel_setDataPosition(p, 0); readFromParcel(p); AParcel_delete(p); } else { sourceFilePath = parcel.sourceFilePath; sourceFd = ndk::ScopedFileDescriptor(dup(parcel.sourceFd.get())); destinationFilePath = parcel.destinationFilePath; Loading @@ -51,6 +62,7 @@ private: isForTesting = parcel.isForTesting; testConfig = parcel.testConfig; } } }; } // namespace android Loading