Bug 1349485. P5 - make AudioSink a non-ref-counting type. r=kikuo

MozReview-Commit-ID: EJmSTwkSdX6

--HG--
extra : rebase_source : 0972500aeb439d5d09cb111feb619cc22c751b9d
This commit is contained in:
JW Wang 2017-03-22 15:13:10 +08:00
parent db128cb2b7
commit 5a77a04dac
3 changed files with 4 additions and 5 deletions

View File

@ -28,7 +28,6 @@ namespace media {
class AudioSink : private AudioStream::DataSource {
using PlaybackParams = MediaSink::PlaybackParams;
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AudioSink)
public:
AudioSink(AbstractThread* aThread,
@ -37,6 +36,8 @@ public:
const AudioInfo& aInfo,
dom::AudioChannel aChannel);
~AudioSink();
// Return a promise which will be resolved when AudioSink
// finishes playing, or rejected if any error.
RefPtr<GenericPromise> Init(const PlaybackParams& aParams);
@ -65,8 +66,6 @@ public:
}
private:
virtual ~AudioSink();
// Allocate and initialize mAudioStream. Returns NS_OK on success.
nsresult InitializeAudioStream(const PlaybackParams& aParams);

View File

@ -190,7 +190,7 @@ AudioSinkWrapper::Start(int64_t aStartTime, const MediaInfo& aInfo)
mAudioEnded = !aInfo.HasAudio();
if (aInfo.HasAudio()) {
mAudioSink = mCreator->Create();
mAudioSink.reset(mCreator->Create());
mEndPromise = mAudioSink->Init(mParams);
mEndPromise->Then(

View File

@ -89,7 +89,7 @@ private:
const RefPtr<AbstractThread> mOwnerThread;
UniquePtr<Creator> mCreator;
RefPtr<AudioSink> mAudioSink;
UniquePtr<AudioSink> mAudioSink;
RefPtr<GenericPromise> mEndPromise;
bool mIsStarted;