Bug 3438258 Add SurfaceTexture as MediaPlayer sink
This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.
This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)
Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
index 3874cfe..732f090 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
@@ -28,7 +28,8 @@
struct DecoderWrapper;
struct NuPlayer::Decoder : public AHandler {
- Decoder(const sp<AMessage> ¬ify, const sp<Surface> &surface = NULL);
+ Decoder(const sp<AMessage> ¬ify,
+ const sp<NativeWindowWrapper> &nativeWindow = NULL);
void configure(const sp<MetaData> &meta);
@@ -47,7 +48,7 @@
};
sp<AMessage> mNotify;
- sp<Surface> mSurface;
+ sp<NativeWindowWrapper> mNativeWindow;
sp<ACodec> mCodec;
sp<DecoderWrapper> mWrapper;