summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-10-01 16:03:44 -0700
committerAndreas Huber <andih@google.com>2012-10-01 16:03:44 -0700
commitfa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b (patch)
tree36a07a0e8484abeb2d8ec882833c6aef8aa7f231 /media/libstagefright/wifi-display
parent90689fda75c343ab9328ced63e58f45eabaa33cc (diff)
downloadframeworks_av-fa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b.zip
frameworks_av-fa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b.tar.gz
frameworks_av-fa0e033ab5a0ab5d96e90c9f6d4d53bedc74514b.tar.bz2
ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.
Change-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3 related-to-bug: 7266324
Diffstat (limited to 'media/libstagefright/wifi-display')
-rw-r--r--media/libstagefright/wifi-display/source/MediaPuller.cpp11
-rw-r--r--media/libstagefright/wifi-display/source/PlaybackSession.cpp7
2 files changed, 13 insertions, 5 deletions
diff --git a/media/libstagefright/wifi-display/source/MediaPuller.cpp b/media/libstagefright/wifi-display/source/MediaPuller.cpp
index 82ae001..ab69c4a 100644
--- a/media/libstagefright/wifi-display/source/MediaPuller.cpp
+++ b/media/libstagefright/wifi-display/source/MediaPuller.cpp
@@ -75,7 +75,16 @@ void MediaPuller::onMessageReceived(const sp<AMessage> &msg) {
switch (msg->what()) {
case kWhatStart:
{
- status_t err = mSource->start();
+ status_t err;
+ if (mIsAudio) {
+ // This atrocity causes AudioSource to deliver absolute
+ // systemTime() based timestamps (off by 1 us).
+ sp<MetaData> params = new MetaData;
+ params->setInt64(kKeyTime, 1ll);
+ err = mSource->start(params.get());
+ } else {
+ err = mSource->start();
+ }
if (err == OK) {
schedulePull();
diff --git a/media/libstagefright/wifi-display/source/PlaybackSession.cpp b/media/libstagefright/wifi-display/source/PlaybackSession.cpp
index 9c065b2..7fce133 100644
--- a/media/libstagefright/wifi-display/source/PlaybackSession.cpp
+++ b/media/libstagefright/wifi-display/source/PlaybackSession.cpp
@@ -883,8 +883,9 @@ status_t WifiDisplaySource::PlaybackSession::addSource(
status_t WifiDisplaySource::PlaybackSession::addVideoSource() {
sp<SurfaceMediaSource> source = new SurfaceMediaSource(width(), height());
- sp<MediaSource> videoSource =
- new RepeaterSource(source, 24.0 /* rateHz */);
+ source->setUseAbsoluteTimestamps();
+
+ sp<MediaSource> videoSource = new RepeaterSource(source, 24.0f);
size_t numInputBuffers;
status_t err = addSource(true /* isVideo */, videoSource, &numInputBuffers);
@@ -908,8 +909,6 @@ status_t WifiDisplaySource::PlaybackSession::addAudioSource() {
2 /* channelCount */);
if (audioSource->initCheck() == OK) {
- audioSource->setUseLooperTime(true);
-
return addSource(
false /* isVideo */, audioSource, NULL /* numInputBuffers */);
}