Bug 703379. Rename nsMediaDecoder::GetCurrentStream to GetStream. Make nsMediaStream::URI() const. r=doublec

This commit is contained in:
Robert O'Callahan 2011-11-25 15:06:20 +13:00
Родитель c838c3700e
Коммит 0671487a56
11 изменённых файлов: 46 добавлений и 46 удалений

Просмотреть файл

@ -1811,7 +1811,7 @@ nsHTMLMediaElement::CreateDecoder(const nsACString& aType)
nsresult nsHTMLMediaElement::InitializeDecoderAsClone(nsMediaDecoder* aOriginal)
{
nsMediaStream* originalStream = aOriginal->GetCurrentStream();
nsMediaStream* originalStream = aOriginal->GetStream();
if (!originalStream)
return NS_ERROR_FAILURE;
nsRefPtr<nsMediaDecoder> decoder = aOriginal->Clone();
@ -2670,7 +2670,7 @@ void nsHTMLMediaElement::FireTimeUpdate(bool aPeriodic)
void nsHTMLMediaElement::GetCurrentSpec(nsCString& aString)
{
if (mDecoder) {
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
if (stream) {
stream->URI()->GetSpec(aString);
}

Просмотреть файл

@ -377,7 +377,7 @@ double nsBuiltinDecoder::GetCurrentTime()
return mCurrentTime;
}
nsMediaStream* nsBuiltinDecoder::GetCurrentStream()
nsMediaStream* nsBuiltinDecoder::GetStream()
{
return mStream;
}

Просмотреть файл

@ -405,7 +405,7 @@ class nsBuiltinDecoder : public nsMediaDecoder
virtual void SetInfinite(bool aInfinite);
virtual bool IsInfinite();
virtual nsMediaStream* GetCurrentStream();
virtual nsMediaStream* GetStream();
virtual already_AddRefed<nsIPrincipal> GetCurrentPrincipal();
virtual void NotifySuspendedStatusChanged();

Просмотреть файл

@ -1571,7 +1571,7 @@ nsresult nsBuiltinDecoderStateMachine::RunStateMachine()
{
mDecoder->GetReentrantMonitor().AssertCurrentThreadIn();
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream, NS_ERROR_NULL_POINTER);
switch (mState) {
@ -1652,7 +1652,7 @@ nsresult nsBuiltinDecoderStateMachine::RunStateMachine()
// data to begin playback, or if we've not downloaded a reasonable
// amount of data inside our buffering time.
TimeDuration elapsed = now - mBufferingStart;
bool isLiveStream = mDecoder->GetCurrentStream()->GetLength() == -1;
bool isLiveStream = mDecoder->GetStream()->GetLength() == -1;
if ((isLiveStream || !mDecoder->CanPlayThrough()) &&
elapsed < TimeDuration::FromSeconds(mBufferingWait) &&
(mQuickBuffering ? HasLowDecodedData(QUICK_BUFFERING_LOW_DATA_USECS)
@ -1850,7 +1850,7 @@ void nsBuiltinDecoderStateMachine::AdvanceFrame()
// Check to see if we don't have enough data to play up to the next frame.
// If we don't, switch to buffering mode.
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
if (mState == DECODER_STATE_DECODING &&
mDecoder->GetState() == nsBuiltinDecoder::PLAY_STATE_PLAYING &&
HasLowDecodedData(remainingTime + EXHAUSTED_DATA_MARGIN_USECS) &&
@ -2028,7 +2028,7 @@ void nsBuiltinDecoderStateMachine::StartBuffering()
}
nsresult nsBuiltinDecoderStateMachine::GetBuffered(nsTimeRanges* aBuffered) {
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream, NS_ERROR_FAILURE);
stream->Pin();
nsresult res = mReader->GetBuffered(aBuffered, mStartTime);

Просмотреть файл

@ -261,7 +261,7 @@ double nsMediaDecoder::GetFrameDelay()
void nsMediaDecoder::PinForSeek()
{
nsMediaStream* stream = GetCurrentStream();
nsMediaStream* stream = GetStream();
if (!stream || mPinnedForSeek) {
return;
}
@ -271,7 +271,7 @@ void nsMediaDecoder::PinForSeek()
void nsMediaDecoder::UnpinForSeek()
{
nsMediaStream* stream = GetCurrentStream();
nsMediaStream* stream = GetStream();
if (!stream || !mPinnedForSeek) {
return;
}

Просмотреть файл

@ -91,8 +91,8 @@ public:
virtual bool Init(nsHTMLMediaElement* aElement);
// Get the current nsMediaStream being used. Its URI will be returned
// by currentSrc.
virtual nsMediaStream* GetCurrentStream() = 0;
// by currentSrc. Returns what was passed to Load(), if Load() has been called.
virtual nsMediaStream* GetStream() = 0;
// Return the principal of the current URI being played or downloaded.
virtual already_AddRefed<nsIPrincipal> GetCurrentPrincipal() = 0;

Просмотреть файл

@ -169,7 +169,7 @@ public:
// The following can be called on the main thread only:
// Get the URI
nsIURI* URI() { return mURI; }
nsIURI* URI() const { return mURI; }
// Close the stream, stop any listeners, channels, etc.
// Cancels any currently blocking Read request and forces that request to
// return an error.

Просмотреть файл

@ -315,7 +315,7 @@ nsresult nsOggReader::ReadMetadata(nsVideoInfo* aInfo)
{
ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
if (mDecoder->GetStateMachine()->GetDuration() == -1 &&
mDecoder->GetStateMachine()->GetState() != nsDecoderStateMachine::DECODER_STATE_SHUTDOWN &&
stream->GetLength() >= 0 &&
@ -552,7 +552,7 @@ PRInt64 nsOggReader::ReadOggPage(ogg_page* aPage)
// Read from the stream into the buffer
PRUint32 bytesRead = 0;
nsresult rv = mDecoder->GetCurrentStream()->Read(buffer, 4096, &bytesRead);
nsresult rv = mDecoder->GetStream()->Read(buffer, 4096, &bytesRead);
if (NS_FAILED(rv) || (bytesRead == 0 && ret == 0)) {
// End of file.
return -1;
@ -616,7 +616,7 @@ GetChecksum(ogg_page* page)
PRInt64 nsOggReader::RangeStartTime(PRInt64 aOffset)
{
NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream != nsnull, nsnull);
nsresult res = stream->Seek(nsISeekableStream::NS_SEEK_SET, aOffset);
NS_ENSURE_SUCCESS(res, nsnull);
@ -640,7 +640,7 @@ PRInt64 nsOggReader::RangeEndTime(PRInt64 aEndOffset)
NS_ASSERTION(mDecoder->OnStateMachineThread() || mDecoder->OnDecodeThread(),
"Should be on state machine or decode thread.");
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream != nsnull, -1);
PRInt64 position = stream->Tell();
PRInt64 endTime = RangeEndTime(0, aEndOffset, false);
@ -653,7 +653,7 @@ PRInt64 nsOggReader::RangeEndTime(PRInt64 aStartOffset,
PRInt64 aEndOffset,
bool aCachedDataOnly)
{
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
nsAutoOggSyncState sync;
// We need to find the last page which ends before aEndOffset that
@ -770,7 +770,7 @@ nsresult nsOggReader::GetSeekRanges(nsTArray<SeekRange>& aRanges)
{
NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
nsTArray<nsByteRange> cached;
nsresult res = mDecoder->GetCurrentStream()->GetCachedRanges(cached);
nsresult res = mDecoder->GetStream()->GetCachedRanges(cached);
NS_ENSURE_SUCCESS(res, res);
for (PRUint32 index = 0; index < cached.Length(); index++) {
@ -809,7 +809,7 @@ nsOggReader::SelectSeekRange(const nsTArray<SeekRange>& ranges,
{
NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
PRInt64 so = 0;
PRInt64 eo = mDecoder->GetCurrentStream()->GetLength();
PRInt64 eo = mDecoder->GetStream()->GetLength();
PRInt64 st = aStartTime;
PRInt64 et = aEndTime;
for (PRUint32 i = 0; i < ranges.Length(); i++) {
@ -837,7 +837,7 @@ nsOggReader::SelectSeekRange(const nsTArray<SeekRange>& ranges,
nsOggReader::IndexedSeekResult nsOggReader::RollbackIndexedSeek(PRInt64 aOffset)
{
mSkeletonState->Deactivate();
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream != nsnull, SEEK_FATAL_ERROR);
nsresult res = stream->Seek(nsISeekableStream::NS_SEEK_SET, aOffset);
NS_ENSURE_SUCCESS(res, SEEK_FATAL_ERROR);
@ -846,7 +846,7 @@ nsOggReader::IndexedSeekResult nsOggReader::RollbackIndexedSeek(PRInt64 aOffset)
nsOggReader::IndexedSeekResult nsOggReader::SeekToKeyframeUsingIndex(PRInt64 aTarget)
{
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream != nsnull, SEEK_FATAL_ERROR);
if (!HasSkeleton() || !mSkeletonState->HasIndex()) {
return SEEK_INDEX_FAIL;
@ -1014,7 +1014,7 @@ nsresult nsOggReader::Seek(PRInt64 aTarget,
NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
LOG(PR_LOG_DEBUG, ("%p About to seek to %lld", mDecoder, aTarget));
nsresult res;
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ENSURE_TRUE(stream != nsnull, NS_ERROR_FAILURE);
if (aTarget == aStartTime) {
@ -1139,7 +1139,7 @@ nsresult nsOggReader::SeekBisection(PRInt64 aTarget,
{
NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
nsresult res;
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
if (aTarget == aRange.mTimeStart) {
if (NS_FAILED(ResetDecode())) {
@ -1407,7 +1407,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
return NS_OK;
}
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
nsTArray<nsByteRange> ranges;
nsresult res = stream->GetCachedRanges(ranges);
NS_ENSURE_SUCCESS(res, res);

Просмотреть файл

@ -71,7 +71,7 @@ nsresult nsRawReader::ReadMetadata(nsVideoInfo* aInfo)
NS_ASSERTION(mDecoder->OnDecodeThread(),
"Should be on decode thread.");
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ASSERTION(stream, "Decoder has no media stream");
if (!ReadFromStream(stream, reinterpret_cast<PRUint8*>(&mMetadata),
@ -189,7 +189,7 @@ bool nsRawReader::DecodeVideoFrame(bool &aKeyframeSkip,
PRUint32 length = mFrameSize - sizeof(nsRawPacketHeader);
nsAutoArrayPtr<PRUint8> buffer(new PRUint8[length]);
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
NS_ASSERTION(stream, "Decoder has no media stream");
// We're always decoding one frame when called
@ -259,7 +259,7 @@ nsresult nsRawReader::Seek(PRInt64 aTime, PRInt64 aStartTime, PRInt64 aEndTime,
NS_ASSERTION(mDecoder->OnDecodeThread(),
"Should be on decode thread.");
nsMediaStream *stream = mDecoder->GetCurrentStream();
nsMediaStream *stream = mDecoder->GetStream();
NS_ASSERTION(stream, "Decoder has no media stream");
PRUint32 frame = mCurrentFrame;

Просмотреть файл

@ -261,7 +261,7 @@ nsresult nsWaveReader::Seek(PRInt64 aTarget, PRInt64 aStartTime, PRInt64 aEndTim
PRInt64 position = RoundDownToFrame(static_cast<PRInt64>(TimeToBytes(seekTime)));
NS_ASSERTION(PR_INT64_MAX - mWavePCMOffset > position, "Integer overflow during wave seek");
position += mWavePCMOffset;
return mDecoder->GetCurrentStream()->Seek(nsISeekableStream::NS_SEEK_SET, position);
return mDecoder->GetStream()->Seek(nsISeekableStream::NS_SEEK_SET, position);
}
static double RoundToUsecs(double aSeconds) {
@ -270,9 +270,9 @@ static double RoundToUsecs(double aSeconds) {
nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
{
PRInt64 startOffset = mDecoder->GetCurrentStream()->GetNextCachedData(mWavePCMOffset);
PRInt64 startOffset = mDecoder->GetStream()->GetNextCachedData(mWavePCMOffset);
while (startOffset >= 0) {
PRInt64 endOffset = mDecoder->GetCurrentStream()->GetCachedDataEnd(startOffset);
PRInt64 endOffset = mDecoder->GetStream()->GetCachedDataEnd(startOffset);
// Bytes [startOffset..endOffset] are cached.
NS_ASSERTION(startOffset >= mWavePCMOffset, "Integer underflow in GetBuffered");
NS_ASSERTION(endOffset >= mWavePCMOffset, "Integer underflow in GetBuffered");
@ -282,7 +282,7 @@ nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
// the media element.
aBuffered->Add(RoundToUsecs(BytesToTime(startOffset - mWavePCMOffset)),
RoundToUsecs(BytesToTime(endOffset - mWavePCMOffset)));
startOffset = mDecoder->GetCurrentStream()->GetNextCachedData(endOffset);
startOffset = mDecoder->GetStream()->GetNextCachedData(endOffset);
}
return NS_OK;
}
@ -296,7 +296,7 @@ nsWaveReader::ReadAll(char* aBuf, PRInt64 aSize, PRInt64* aBytesRead)
}
do {
PRUint32 read = 0;
if (NS_FAILED(mDecoder->GetCurrentStream()->Read(aBuf + got, PRUint32(aSize - got), &read))) {
if (NS_FAILED(mDecoder->GetStream()->Read(aBuf + got, PRUint32(aSize - got), &read))) {
NS_WARNING("Stream read failed");
return false;
}
@ -318,7 +318,7 @@ nsWaveReader::LoadRIFFChunk()
char riffHeader[RIFF_INITIAL_SIZE];
const char* p = riffHeader;
NS_ABORT_IF_FALSE(mDecoder->GetCurrentStream()->Tell() == 0,
NS_ABORT_IF_FALSE(mDecoder->GetStream()->Tell() == 0,
"LoadRIFFChunk called when stream in invalid state");
if (!ReadAll(riffHeader, sizeof(riffHeader))) {
@ -390,7 +390,7 @@ nsWaveReader::LoadFormatChunk()
const char* p = waveFormat;
// RIFF chunks are always word (two byte) aligned.
NS_ABORT_IF_FALSE(mDecoder->GetCurrentStream()->Tell() % 2 == 0,
NS_ABORT_IF_FALSE(mDecoder->GetStream()->Tell() % 2 == 0,
"LoadFormatChunk called with unaligned stream");
// The "format" chunk may not directly follow the "riff" chunk, so skip
@ -455,7 +455,7 @@ nsWaveReader::LoadFormatChunk()
}
// RIFF chunks are always word (two byte) aligned.
NS_ABORT_IF_FALSE(mDecoder->GetCurrentStream()->Tell() % 2 == 0,
NS_ABORT_IF_FALSE(mDecoder->GetStream()->Tell() % 2 == 0,
"LoadFormatChunk left stream unaligned");
// Make sure metadata is fairly sane. The rate check is fairly arbitrary,
@ -485,7 +485,7 @@ bool
nsWaveReader::FindDataOffset()
{
// RIFF chunks are always word (two byte) aligned.
NS_ABORT_IF_FALSE(mDecoder->GetCurrentStream()->Tell() % 2 == 0,
NS_ABORT_IF_FALSE(mDecoder->GetStream()->Tell() % 2 == 0,
"FindDataOffset called with unaligned stream");
// The "data" chunk may not directly follow the "format" chunk, so skip
@ -495,7 +495,7 @@ nsWaveReader::FindDataOffset()
return false;
}
PRInt64 offset = mDecoder->GetCurrentStream()->Tell();
PRInt64 offset = mDecoder->GetStream()->Tell();
if (offset <= 0 || offset > PR_UINT32_MAX) {
NS_WARNING("PCM data offset out of range");
return false;
@ -535,7 +535,7 @@ nsWaveReader::GetDataLength()
// If the decoder has a valid content length, and it's shorter than the
// expected length of the PCM data, calculate the playback duration from
// the content length rather than the expected PCM data length.
PRInt64 streamLength = mDecoder->GetCurrentStream()->GetLength();
PRInt64 streamLength = mDecoder->GetStream()->GetLength();
if (streamLength >= 0) {
PRInt64 dataLength = NS_MAX<PRInt64>(0, streamLength - mWavePCMOffset);
length = NS_MIN(dataLength, length);
@ -546,5 +546,5 @@ nsWaveReader::GetDataLength()
PRInt64
nsWaveReader::GetPosition()
{
return mDecoder->GetCurrentStream()->Tell();
return mDecoder->GetStream()->Tell();
}

Просмотреть файл

@ -86,7 +86,7 @@ static int webm_read(void *aBuffer, size_t aLength, void *aUserData)
{
NS_ASSERTION(aUserData, "aUserData must point to a valid nsBuiltinDecoder");
nsBuiltinDecoder* decoder = reinterpret_cast<nsBuiltinDecoder*>(aUserData);
nsMediaStream* stream = decoder->GetCurrentStream();
nsMediaStream* stream = decoder->GetStream();
NS_ASSERTION(stream, "Decoder has no media stream");
nsresult rv = NS_OK;
@ -112,7 +112,7 @@ static int webm_seek(int64_t aOffset, int aWhence, void *aUserData)
{
NS_ASSERTION(aUserData, "aUserData must point to a valid nsBuiltinDecoder");
nsBuiltinDecoder* decoder = reinterpret_cast<nsBuiltinDecoder*>(aUserData);
nsMediaStream* stream = decoder->GetCurrentStream();
nsMediaStream* stream = decoder->GetStream();
NS_ASSERTION(stream, "Decoder has no media stream");
nsresult rv = stream->Seek(aWhence, aOffset);
return NS_SUCCEEDED(rv) ? 0 : -1;
@ -122,7 +122,7 @@ static int64_t webm_tell(void *aUserData)
{
NS_ASSERTION(aUserData, "aUserData must point to a valid nsBuiltinDecoder");
nsBuiltinDecoder* decoder = reinterpret_cast<nsBuiltinDecoder*>(aUserData);
nsMediaStream* stream = decoder->GetCurrentStream();
nsMediaStream* stream = decoder->GetStream();
NS_ASSERTION(stream, "Decoder has no media stream");
return stream->Tell();
}
@ -559,7 +559,7 @@ nsReturnRef<NesteggPacketHolder> nsWebMReader::NextPacket(TrackType aTrackType)
if (r <= 0) {
return nsReturnRef<NesteggPacketHolder>();
}
PRInt64 offset = mDecoder->GetCurrentStream()->Tell();
PRInt64 offset = mDecoder->GetStream()->Tell();
holder.own(new NesteggPacketHolder(packet, offset));
unsigned int track = 0;
@ -769,7 +769,7 @@ nsresult nsWebMReader::Seek(PRInt64 aTarget, PRInt64 aStartTime, PRInt64 aEndTim
nsresult nsWebMReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
{
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
uint64_t timecodeScale;
if (!mContext || nestegg_tstamp_scale(mContext, &timecodeScale) == -1) {
@ -783,7 +783,7 @@ nsresult nsWebMReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
aBuffered->Add(0, duration / NS_PER_S);
}
} else {
nsMediaStream* stream = mDecoder->GetCurrentStream();
nsMediaStream* stream = mDecoder->GetStream();
nsTArray<nsByteRange> ranges;
nsresult res = stream->GetCachedRanges(ranges);
NS_ENSURE_SUCCESS(res, res);