summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h133
1 files changed, 0 insertions, 133 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
deleted file mode 100644
index 268628b..0000000
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef NUPLAYER_RENDERER_H_
-
-#define NUPLAYER_RENDERER_H_
-
-#include "NuPlayer.h"
-
-namespace android {
-
-struct ABuffer;
-
-struct NuPlayer::Renderer : public AHandler {
- Renderer(const sp<MediaPlayerBase::AudioSink> &sink,
- const sp<AMessage> &notify);
-
- void queueBuffer(
- bool audio,
- const sp<ABuffer> &buffer,
- const sp<AMessage> &notifyConsumed);
-
- void queueEOS(bool audio, status_t finalResult);
-
- void flush(bool audio);
-
- void signalTimeDiscontinuity();
-
- void signalAudioSinkChanged();
-
- void pause();
- void resume();
-
- enum {
- kWhatEOS = 'eos ',
- kWhatFlushComplete = 'fluC',
- kWhatPosition = 'posi',
- };
-
-protected:
- virtual ~Renderer();
-
- virtual void onMessageReceived(const sp<AMessage> &msg);
-
-private:
- enum {
- kWhatDrainAudioQueue = 'draA',
- kWhatDrainVideoQueue = 'draV',
- kWhatQueueBuffer = 'queB',
- kWhatQueueEOS = 'qEOS',
- kWhatFlush = 'flus',
- kWhatAudioSinkChanged = 'auSC',
- kWhatPause = 'paus',
- kWhatResume = 'resm',
- };
-
- struct QueueEntry {
- sp<ABuffer> mBuffer;
- sp<AMessage> mNotifyConsumed;
- size_t mOffset;
- status_t mFinalResult;
- };
-
- static const int64_t kMinPositionUpdateDelayUs;
-
- sp<MediaPlayerBase::AudioSink> mAudioSink;
- sp<AMessage> mNotify;
- List<QueueEntry> mAudioQueue;
- List<QueueEntry> mVideoQueue;
- uint32_t mNumFramesWritten;
-
- bool mDrainAudioQueuePending;
- bool mDrainVideoQueuePending;
- int32_t mAudioQueueGeneration;
- int32_t mVideoQueueGeneration;
-
- int64_t mAnchorTimeMediaUs;
- int64_t mAnchorTimeRealUs;
-
- Mutex mFlushLock; // protects the following 2 member vars.
- bool mFlushingAudio;
- bool mFlushingVideo;
-
- bool mHasAudio;
- bool mHasVideo;
- bool mSyncQueues;
-
- bool mPaused;
-
- int64_t mLastPositionUpdateUs;
- int64_t mVideoLateByUs;
-
- bool onDrainAudioQueue();
- void postDrainAudioQueue(int64_t delayUs = 0);
-
- void onDrainVideoQueue();
- void postDrainVideoQueue();
-
- void onQueueBuffer(const sp<AMessage> &msg);
- void onQueueEOS(const sp<AMessage> &msg);
- void onFlush(const sp<AMessage> &msg);
- void onAudioSinkChanged();
- void onPause();
- void onResume();
-
- void notifyEOS(bool audio, status_t finalResult);
- void notifyFlushComplete(bool audio);
- void notifyPosition();
- void notifyVideoLateBy(int64_t lateByUs);
-
- void flushQueue(List<QueueEntry> *queue);
- bool dropBufferWhileFlushing(bool audio, const sp<AMessage> &msg);
- void syncQueuesDone();
-
- DISALLOW_EVIL_CONSTRUCTORS(Renderer);
-};
-
-} // namespace android
-
-#endif // NUPLAYER_RENDERER_H_