content/media/mediasource/MediaSourceResource.h

Fri, 16 Jan 2015 04:50:19 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 04:50:19 +0100
branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
permissions
-rw-r--r--

Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32

michael@0 1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
michael@0 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
michael@0 3 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 4 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 6
michael@0 7 #ifndef MOZILLA_MEDIASOURCERESOURCE_H_
michael@0 8 #define MOZILLA_MEDIASOURCERESOURCE_H_
michael@0 9
michael@0 10 #include "MediaResource.h"
michael@0 11
michael@0 12 namespace mozilla {
michael@0 13
michael@0 14 class MediaSourceResource MOZ_FINAL : public MediaResource
michael@0 15 {
michael@0 16 public:
michael@0 17 MediaSourceResource() {}
michael@0 18
michael@0 19 virtual nsresult Close() MOZ_OVERRIDE { return NS_OK; }
michael@0 20 virtual void Suspend(bool aCloseImmediately) MOZ_OVERRIDE {}
michael@0 21 virtual void Resume() MOZ_OVERRIDE {}
michael@0 22 virtual already_AddRefed<nsIPrincipal> GetCurrentPrincipal() MOZ_OVERRIDE { return nullptr; }
michael@0 23 virtual bool CanClone() MOZ_OVERRIDE { return false; }
michael@0 24 virtual already_AddRefed<MediaResource> CloneData(MediaDecoder* aDecoder) MOZ_OVERRIDE { return nullptr; }
michael@0 25 virtual void SetReadMode(MediaCacheStream::ReadMode aMode) MOZ_OVERRIDE {}
michael@0 26 virtual void SetPlaybackRate(uint32_t aBytesPerSecond) MOZ_OVERRIDE {}
michael@0 27 virtual nsresult Read(char* aBuffer, uint32_t aCount, uint32_t* aBytes) MOZ_OVERRIDE { return NS_ERROR_FAILURE; }
michael@0 28 virtual nsresult ReadAt(int64_t aOffset, char* aBuffer, uint32_t aCount, uint32_t* aBytes) MOZ_OVERRIDE { return NS_ERROR_FAILURE; }
michael@0 29 virtual nsresult Seek(int32_t aWhence, int64_t aOffset) MOZ_OVERRIDE { return NS_ERROR_FAILURE; }
michael@0 30 virtual void StartSeekingForMetadata() MOZ_OVERRIDE {}
michael@0 31 virtual void EndSeekingForMetadata() MOZ_OVERRIDE {}
michael@0 32 virtual int64_t Tell() MOZ_OVERRIDE { return -1; }
michael@0 33 virtual void Pin() MOZ_OVERRIDE {}
michael@0 34 virtual void Unpin() MOZ_OVERRIDE {}
michael@0 35 virtual double GetDownloadRate(bool* aIsReliable) MOZ_OVERRIDE { return 0; }
michael@0 36 virtual int64_t GetLength() MOZ_OVERRIDE { return -1; }
michael@0 37 virtual int64_t GetNextCachedData(int64_t aOffset) MOZ_OVERRIDE { return aOffset; }
michael@0 38 virtual int64_t GetCachedDataEnd(int64_t aOffset) MOZ_OVERRIDE { return GetLength(); }
michael@0 39 virtual bool IsDataCachedToEndOfResource(int64_t aOffset) MOZ_OVERRIDE { return false; }
michael@0 40 virtual bool IsSuspendedByCache() MOZ_OVERRIDE { return false; }
michael@0 41 virtual bool IsSuspended() MOZ_OVERRIDE { return false; }
michael@0 42 virtual nsresult ReadFromCache(char* aBuffer, int64_t aOffset, uint32_t aCount) MOZ_OVERRIDE { return NS_ERROR_FAILURE; }
michael@0 43 virtual nsresult Open(nsIStreamListener** aStreamListener) MOZ_OVERRIDE { return NS_ERROR_FAILURE; }
michael@0 44
michael@0 45 virtual nsresult GetCachedRanges(nsTArray<MediaByteRange>& aRanges) MOZ_OVERRIDE
michael@0 46 {
michael@0 47 aRanges.AppendElement(MediaByteRange(0, GetLength()));
michael@0 48 return NS_OK;
michael@0 49 }
michael@0 50
michael@0 51 virtual bool IsTransportSeekable() MOZ_OVERRIDE { return true; }
michael@0 52 virtual const nsCString& GetContentType() const MOZ_OVERRIDE { return mType; }
michael@0 53
michael@0 54 private:
michael@0 55 virtual size_t SizeOfExcludingThis(MallocSizeOf aMallocSizeOf) const MOZ_OVERRIDE
michael@0 56 {
michael@0 57 size_t size = MediaResource::SizeOfExcludingThis(aMallocSizeOf);
michael@0 58 size += mType.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
michael@0 59
michael@0 60 return size;
michael@0 61 }
michael@0 62
michael@0 63 virtual size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const MOZ_OVERRIDE
michael@0 64 {
michael@0 65 return aMallocSizeOf(this) + SizeOfExcludingThis(aMallocSizeOf);
michael@0 66 }
michael@0 67
michael@0 68 const nsAutoCString mType;
michael@0 69 };
michael@0 70
michael@0 71 } // namespace mozilla
michael@0 72
michael@0 73 #endif /* MOZILLA_MEDIASOURCERESOURCE_H_ */

mercurial