Loading include/gui/Surface.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -145,6 +145,7 @@ private: int dispatchSetUsage(va_list args); int dispatchSetUsage(va_list args); int dispatchLock(va_list args); int dispatchLock(va_list args); int dispatchUnlockAndPost(va_list args); int dispatchUnlockAndPost(va_list args); int dispatchSetSidebandStream(va_list args); protected: protected: virtual int dequeueBuffer(ANativeWindowBuffer** buffer, int* fenceFd); virtual int dequeueBuffer(ANativeWindowBuffer** buffer, int* fenceFd); Loading include/media/hardware/HardwareAPI.h +21 −0 Original line number Original line Diff line number Diff line Loading @@ -214,6 +214,27 @@ struct DescribeColorFormatParams { MediaImage sMediaImage; MediaImage sMediaImage; }; }; // A pointer to this struct is passed to OMX_SetParameter or OMX_GetParameter // when the extension index for the // 'OMX.google.android.index.configureVideoTunnelMode' extension is given. // If the extension is supported then tunneled playback mode should be supported // by the codec. If bTunneled is set to OMX_TRUE then the video decoder should // operate in "tunneled" mode and output its decoded frames directly to the // sink. In this case nAudioHwSync is the HW SYNC ID of the audio HAL Output // stream to sync the video with. If bTunneled is set to OMX_FALSE, "tunneled" // mode should be disabled and nAudioHwSync should be ignored. // OMX_GetParameter is used to query tunneling configuration. bTunneled should // return whether decoder is operating in tunneled mode, and if it is, // pSidebandWindow should contain the codec allocated sideband window handle. struct ConfigureVideoTunnelModeParams { OMX_U32 nSize; // IN OMX_VERSIONTYPE nVersion; // IN OMX_U32 nPortIndex; // IN OMX_BOOL bTunneled; // IN/OUT OMX_U32 nAudioHwSync; // IN OMX_PTR pSidebandWindow; // OUT }; } // namespace android } // namespace android extern android::OMXPluginBase *createOMXPlugin(); extern android::OMXPluginBase *createOMXPlugin(); Loading libs/gui/Surface.cpp +10 −0 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <utils/Log.h> #include <utils/Log.h> #include <utils/Trace.h> #include <utils/Trace.h> #include <utils/NativeHandle.h> #include <ui/Fence.h> #include <ui/Fence.h> Loading Loading @@ -443,6 +444,9 @@ int Surface::perform(int operation, va_list args) case NATIVE_WINDOW_API_DISCONNECT: case NATIVE_WINDOW_API_DISCONNECT: res = dispatchDisconnect(args); res = dispatchDisconnect(args); break; break; case NATIVE_WINDOW_SET_SIDEBAND_STREAM: res = dispatchSetSidebandStream(args); break; default: default: res = NAME_NOT_FOUND; res = NAME_NOT_FOUND; break; break; Loading Loading @@ -533,6 +537,12 @@ int Surface::dispatchUnlockAndPost(va_list args __attribute__((unused))) { return unlockAndPost(); return unlockAndPost(); } } int Surface::dispatchSetSidebandStream(va_list args) { native_handle_t* sH = va_arg(args, native_handle_t*); sp<NativeHandle> sidebandHandle = NativeHandle::create(sH, false); setSidebandStream(sidebandHandle); return OK; } int Surface::connect(int api) { int Surface::connect(int api) { ATRACE_CALL(); ATRACE_CALL(); Loading Loading
include/gui/Surface.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -145,6 +145,7 @@ private: int dispatchSetUsage(va_list args); int dispatchSetUsage(va_list args); int dispatchLock(va_list args); int dispatchLock(va_list args); int dispatchUnlockAndPost(va_list args); int dispatchUnlockAndPost(va_list args); int dispatchSetSidebandStream(va_list args); protected: protected: virtual int dequeueBuffer(ANativeWindowBuffer** buffer, int* fenceFd); virtual int dequeueBuffer(ANativeWindowBuffer** buffer, int* fenceFd); Loading
include/media/hardware/HardwareAPI.h +21 −0 Original line number Original line Diff line number Diff line Loading @@ -214,6 +214,27 @@ struct DescribeColorFormatParams { MediaImage sMediaImage; MediaImage sMediaImage; }; }; // A pointer to this struct is passed to OMX_SetParameter or OMX_GetParameter // when the extension index for the // 'OMX.google.android.index.configureVideoTunnelMode' extension is given. // If the extension is supported then tunneled playback mode should be supported // by the codec. If bTunneled is set to OMX_TRUE then the video decoder should // operate in "tunneled" mode and output its decoded frames directly to the // sink. In this case nAudioHwSync is the HW SYNC ID of the audio HAL Output // stream to sync the video with. If bTunneled is set to OMX_FALSE, "tunneled" // mode should be disabled and nAudioHwSync should be ignored. // OMX_GetParameter is used to query tunneling configuration. bTunneled should // return whether decoder is operating in tunneled mode, and if it is, // pSidebandWindow should contain the codec allocated sideband window handle. struct ConfigureVideoTunnelModeParams { OMX_U32 nSize; // IN OMX_VERSIONTYPE nVersion; // IN OMX_U32 nPortIndex; // IN OMX_BOOL bTunneled; // IN/OUT OMX_U32 nAudioHwSync; // IN OMX_PTR pSidebandWindow; // OUT }; } // namespace android } // namespace android extern android::OMXPluginBase *createOMXPlugin(); extern android::OMXPluginBase *createOMXPlugin(); Loading
libs/gui/Surface.cpp +10 −0 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <utils/Log.h> #include <utils/Log.h> #include <utils/Trace.h> #include <utils/Trace.h> #include <utils/NativeHandle.h> #include <ui/Fence.h> #include <ui/Fence.h> Loading Loading @@ -443,6 +444,9 @@ int Surface::perform(int operation, va_list args) case NATIVE_WINDOW_API_DISCONNECT: case NATIVE_WINDOW_API_DISCONNECT: res = dispatchDisconnect(args); res = dispatchDisconnect(args); break; break; case NATIVE_WINDOW_SET_SIDEBAND_STREAM: res = dispatchSetSidebandStream(args); break; default: default: res = NAME_NOT_FOUND; res = NAME_NOT_FOUND; break; break; Loading Loading @@ -533,6 +537,12 @@ int Surface::dispatchUnlockAndPost(va_list args __attribute__((unused))) { return unlockAndPost(); return unlockAndPost(); } } int Surface::dispatchSetSidebandStream(va_list args) { native_handle_t* sH = va_arg(args, native_handle_t*); sp<NativeHandle> sidebandHandle = NativeHandle::create(sH, false); setSidebandStream(sidebandHandle); return OK; } int Surface::connect(int api) { int Surface::connect(int api) { ATRACE_CALL(); ATRACE_CALL(); Loading