Bug 1398659. P5 - let ChannelMediaResource::Open() set mListener without calling OpenChannel().
This is more efficient because aStreamListener won't be null.
MozReview-Commit-ID: 4b22l7cTK6y
--- a/dom/media/MediaResource.cpp
+++ b/dom/media/MediaResource.cpp
@@ -531,17 +531,20 @@ ChannelMediaResource::Open(nsIStreamList
}
nsresult rv = mCacheStream.Init(cl);
if (NS_FAILED(rv)) {
return rv;
}
MOZ_ASSERT(mOffset == 0, "Who set mOffset already?");
- return OpenChannel(aStreamListener);
+ mListener = new Listener(this);
+ *aStreamListener = mListener;
+ NS_ADDREF(*aStreamListener);
+ return NS_OK;
}
nsresult ChannelMediaResource::OpenChannel(nsIStreamListener** aStreamListener)
{
NS_ASSERTION(NS_IsMainThread(), "Only call on main thread");
NS_ENSURE_TRUE(mChannel, NS_ERROR_NULL_POINTER);
NS_ASSERTION(!mListener, "Listener should have been removed by now");