MediaPlayer2: use DataSource to replace IDataSource.

Also fix deadlock by always posting notification to NuPlayer2Driver's
looper.
Test: MediaPlayer2 can play callback source.
Bug: 63934228

Change-Id: Ie27bc0038bcc07ffef5c610662db3fcb5df7aec4
diff --git a/media/libmedia/mediaplayer2.cpp b/media/libmedia/mediaplayer2.cpp
index 5a52abf..5c34d4a 100644
--- a/media/libmedia/mediaplayer2.cpp
+++ b/media/libmedia/mediaplayer2.cpp
@@ -33,7 +33,7 @@
 #include <media/AudioResamplerPublic.h>
 #include <media/AudioSystem.h>
 #include <media/AVSyncSettings.h>
-#include <media/IDataSource.h>
+#include <media/DataSource.h>
 #include <media/MediaAnalyticsItem.h>
 #include <media/NdkWrapper.h>
 
@@ -183,9 +183,9 @@
     return err;
 }
 
-status_t MediaPlayer2::setDataSource(const sp<IDataSource> &source)
+status_t MediaPlayer2::setDataSource(const sp<DataSource> &source)
 {
-    ALOGV("setDataSource(IDataSource)");
+    ALOGV("setDataSource(DataSource)");
     status_t err = UNKNOWN_ERROR;
     sp<MediaPlayer2Engine> player(MediaPlayer2Manager::get().create(this, mAudioSessionId));
     if ((NO_ERROR != doSetRetransmitEndpoint(player)) ||