Bug 1404997 - P11. More constness fixes. r=pehrsons

MozReview-Commit-ID: 5qgO43V9R9P

--HG--
extra : rebase_source : 6f387e73486079737c066420a3e95f15c1c0ac16
This commit is contained in:
Jean-Yves Avenard 2017-12-05 00:07:52 +01:00
parent f702757959
commit bc93df2fbe
6 changed files with 43 additions and 47 deletions

View File

@ -335,18 +335,16 @@ protected:
ImageFormat format = aImage->GetFormat();
if (format == ImageFormat::PLANAR_YCBCR) {
// Cast away constness b/c some of the accessors are non-const
PlanarYCbCrImage* yuv = const_cast<PlanarYCbCrImage*>(
static_cast<const PlanarYCbCrImage*>(aImage));
const PlanarYCbCrData* data = yuv->GetData();
const PlanarYCbCrData* data =
static_cast<const PlanarYCbCrImage*>(aImage)->GetData();
if (data) {
uint8_t* y = data->mYChannel;
uint8_t* cb = data->mCbChannel;
uint8_t* cr = data->mCrChannel;
int32_t yStride = data->mYStride;
int32_t cbCrStride = data->mCbCrStride;
uint32_t width = yuv->GetSize().width;
uint32_t height = yuv->GetSize().height;
uint32_t width = aImage->GetSize().width;
uint32_t height = aImage->GetSize().height;
rtc::Callback0<void> callback_unused;
rtc::scoped_refptr<webrtc::WrappedI420Buffer> video_frame_buffer(
@ -594,7 +592,7 @@ protected:
}
RefPtr<AudioSessionConduit> mConduit;
RefPtr<AutoTaskQueue> mTaskQueue;
const RefPtr<AutoTaskQueue> mTaskQueue;
// Only accessed on mTaskQueue
UniquePtr<AudioPacketizer<int16_t, int16_t>> mPacketizer;
// A buffer to hold a single packet of audio.
@ -625,7 +623,6 @@ MediaPipeline::MediaPipeline(const std::string& aPc,
, mRtpBytesSent(0)
, mRtpBytesReceived(0)
, mPc(aPc)
, mDescription()
, mRtpParser(webrtc::RtpHeaderParser::Create())
, mPacketDumper(new PacketDumper(mPc))
{
@ -989,7 +986,7 @@ MediaPipeline::UpdateRtcpMuxState(TransportInfo& aInfo)
}
nsresult
MediaPipeline::SendPacket(TransportFlow* aFlow, const void* aData, int aLen)
MediaPipeline::SendPacket(const TransportFlow* aFlow, const void* aData, int aLen)
{
ASSERT_ON_THREAD(mStsThread);
@ -1273,7 +1270,7 @@ MediaPipeline::RtcpPacketReceived(TransportLayer* aLayer,
}
bool
MediaPipeline::IsRtp(const unsigned char* aData, size_t aLen)
MediaPipeline::IsRtp(const unsigned char* aData, size_t aLen) const
{
if (aLen < 2)
return false;
@ -1523,8 +1520,14 @@ MediaPipelineTransmit::MediaPipelineTransmit(
aMainThread,
aStsThread,
aConduit)
, mListener(new PipelineListener(aConduit))
, mIsVideo(aIsVideo)
, mListener(new PipelineListener(aConduit))
, mFeeder(aIsVideo ? MakeAndAddRef<VideoFrameFeeder>(mListener)
: nullptr) // For video we send frames to an
// async VideoFrameConverter that
// calls back to a VideoFrameFeeder
// that feeds I420 frames to
// VideoConduit.
, mDomTrack(aDomTrack)
, mTransmitting(false)
{
@ -1534,14 +1537,8 @@ MediaPipelineTransmit::MediaPipelineTransmit(
static_cast<AudioSessionConduit*>(aConduit.get()));
mListener->SetAudioProxy(mAudioProcessing);
} else { // Video
// For video we send frames to an async VideoFrameConverter that calls
// back to a VideoFrameFeeder that feeds I420 frames to VideoConduit.
mFeeder = MakeAndAddRef<VideoFrameFeeder>(mListener);
mConverter = MakeAndAddRef<VideoFrameConverter>();
mConverter->AddListener(mFeeder);
mListener->SetVideoFrameConverter(mConverter);
}
}
@ -1650,7 +1647,7 @@ MediaPipelineTransmit::IsVideo() const
}
void
MediaPipelineTransmit::UpdateSinkIdentity_m(MediaStreamTrack* aTrack,
MediaPipelineTransmit::UpdateSinkIdentity_m(const MediaStreamTrack* aTrack,
nsIPrincipal* aPrincipal,
const PeerIdentity* aSinkIdentity)
{
@ -2022,17 +2019,14 @@ MediaPipelineTransmit::PipelineListener::NewData(const MediaSegment& aMedia,
if (aMedia.GetType() == MediaSegment::AUDIO) {
MOZ_RELEASE_ASSERT(aRate > 0);
AudioSegment* audio =
const_cast<AudioSegment*>(static_cast<const AudioSegment*>(&aMedia));
for (AudioSegment::ChunkIterator iter(*audio); !iter.IsEnded();
const AudioSegment* audio = static_cast<const AudioSegment*>(&aMedia);
for (AudioSegment::ConstChunkIterator iter(*audio); !iter.IsEnded();
iter.Next()) {
mAudioProcessing->QueueAudioChunk(aRate, *iter, mEnabled);
}
} else {
VideoSegment* video =
const_cast<VideoSegment*>(static_cast<const VideoSegment*>(&aMedia));
VideoSegment::ChunkIterator iter(*video);
for (VideoSegment::ChunkIterator iter(*video); !iter.IsEnded();
const VideoSegment* video = static_cast<const VideoSegment*>(&aMedia);
for (VideoSegment::ConstChunkIterator iter(*video); !iter.IsEnded();
iter.Next()) {
mConverter->QueueVideoChunk(*iter, !mEnabled);
}
@ -2070,7 +2064,7 @@ public:
void TrackAdded(TrackTicks aTime);
private:
RefPtr<GenericReceiveListener> mListener;
const RefPtr<GenericReceiveListener> mListener;
};
class GenericReceiveListener : public MediaStreamListener
@ -2170,7 +2164,7 @@ public:
mListener->SetPrincipalHandle_msg(mPrincipalHandle);
}
RefPtr<GenericReceiveListener> mListener;
const RefPtr<GenericReceiveListener> mListener;
PrincipalHandle mPrincipalHandle;
};

View File

@ -155,7 +155,7 @@ public:
private:
static const double constexpr EXPIRY_TIME_MILLISECONDS = 10 * 1000;
uint32_t mCsrc;
const uint32_t mCsrc;
DOMHighResTimeStamp mTimestamp;
};
@ -203,7 +203,7 @@ public:
// Creates a cycle, which we break with Detach
RefPtr<MediaPipeline> mPipeline;
nsCOMPtr<nsIEventTarget> mStsThread;
const nsCOMPtr<nsIEventTarget> mStsThread;
};
protected:
@ -250,10 +250,12 @@ protected:
virtual void OnRtpPacketReceived() {};
void IncrementRtcpPacketsReceived();
virtual nsresult SendPacket(TransportFlow* aFlow, const void* aData, int aLen);
virtual nsresult SendPacket(const TransportFlow* aFlow,
const void* aData,
int aLen);
// Process slots on transports
void StateChange(TransportFlow* flow, TransportLayer::State);
void StateChange(TransportFlow* aFlow, TransportLayer::State);
void RtpPacketReceived(TransportLayer* aLayer,
const unsigned char* aData,
size_t aLen);
@ -264,7 +266,7 @@ protected:
const unsigned char* aData,
size_t aLen);
DirectionType mDirection;
const DirectionType mDirection;
size_t mLevel;
RefPtr<MediaSessionConduit> mConduit; // Our conduit. Written on the main
// thread. Read on STS thread.
@ -275,8 +277,8 @@ protected:
// Pointers to the threads we need. Initialized at creation
// and used all over the place.
nsCOMPtr<nsIEventTarget> mMainThread;
nsCOMPtr<nsIEventTarget> mStsThread;
const nsCOMPtr<nsIEventTarget> mMainThread;
const nsCOMPtr<nsIEventTarget> mStsThread;
// Created in c'tor. Referenced by the conduit.
RefPtr<PipelineTransport> mTransport;
@ -294,12 +296,12 @@ protected:
std::map<uint32_t, RtpCSRCStats> mCsrcStats;
// Written in c'tor. Read on STS thread.
std::string mPc;
const std::string mPc;
std::string mDescription;
// Written in c'tor, all following accesses are on the STS thread.
nsAutoPtr<MediaPipelineFilter> mFilter;
nsAutoPtr<webrtc::RtpHeaderParser> mRtpParser;
const nsAutoPtr<webrtc::RtpHeaderParser> mRtpParser;
nsAutoPtr<PacketDumper> mPacketDumper;
@ -307,7 +309,7 @@ private:
// Gets the current time as a DOMHighResTimeStamp
static DOMHighResTimeStamp GetNow();
bool IsRtp(const unsigned char* aData, size_t aLen);
bool IsRtp(const unsigned char* aData, size_t aLen) const;
// Must be called on the STS thread. Must be called after DetachMedia().
void DetachTransport_s();
};
@ -325,7 +327,7 @@ public:
NS_IMETHOD Run() override { return NS_OK; }
private:
RefPtr<MediaSessionConduit> mConduit;
const RefPtr<MediaSessionConduit> mConduit;
};
// A specialization of pipeline for reading from an input device
@ -350,7 +352,7 @@ public:
// When the principal of the domtrack changes, it calls through to here
// so that we can determine whether to enable track transmission.
// `track` has to be null or equal `mDomTrack` for us to apply the update.
virtual void UpdateSinkIdentity_m(dom::MediaStreamTrack* aTrack,
virtual void UpdateSinkIdentity_m(const dom::MediaStreamTrack* aTrack,
nsIPrincipal* aPrincipal,
const PeerIdentity* aSinkIdentity);
@ -376,11 +378,11 @@ protected:
void SetDescription();
private:
RefPtr<PipelineListener> mListener;
const bool mIsVideo;
const RefPtr<PipelineListener> mListener;
const RefPtr<VideoFrameFeeder> mFeeder;
RefPtr<AudioProxyThread> mAudioProcessing;
RefPtr<VideoFrameFeeder> mFeeder;
RefPtr<VideoFrameConverter> mConverter;
bool mIsVideo;
RefPtr<dom::MediaStreamTrack> mDomTrack;
bool mTransmitting;
};
@ -464,7 +466,7 @@ private:
// Separate class to allow ref counting
class PipelineListener;
RefPtr<PipelineRenderer> mRenderer;
const RefPtr<PipelineRenderer> mRenderer;
RefPtr<PipelineListener> mListener;
};

View File

@ -1503,7 +1503,7 @@ PeerConnectionMedia::UpdateRemoteStreamPrincipals_m(nsIPrincipal* aPrincipal)
}
void
PeerConnectionMedia::UpdateSinkIdentity_m(MediaStreamTrack* aTrack,
PeerConnectionMedia::UpdateSinkIdentity_m(const MediaStreamTrack* aTrack,
nsIPrincipal* aPrincipal,
const PeerIdentity* aSinkIdentity)
{

View File

@ -140,7 +140,7 @@ class PeerConnectionMedia : public sigslot::has_slots<> {
// black/silence. Once the peer is identified, re-enable those streams.
// aTrack will be set if this update came from a principal change on aTrack.
// TODO: Move to PeerConnectionImpl
void UpdateSinkIdentity_m(dom::MediaStreamTrack* aTrack,
void UpdateSinkIdentity_m(const dom::MediaStreamTrack* aTrack,
nsIPrincipal* aPrincipal,
const PeerIdentity* aSinkIdentity);
// this determines if any track is peerIdentity constrained

View File

@ -120,7 +120,7 @@ TransceiverImpl::InitVideo()
}
nsresult
TransceiverImpl::UpdateSinkIdentity(dom::MediaStreamTrack* aTrack,
TransceiverImpl::UpdateSinkIdentity(const dom::MediaStreamTrack* aTrack,
nsIPrincipal* aPrincipal,
const PeerIdentity* aSinkIdentity)
{

View File

@ -65,7 +65,7 @@ public:
nsresult UpdateSendTrack(dom::MediaStreamTrack* aSendTrack);
nsresult UpdateSinkIdentity(dom::MediaStreamTrack* aTrack,
nsresult UpdateSinkIdentity(const dom::MediaStreamTrack* aTrack,
nsIPrincipal* aPrincipal,
const PeerIdentity* aSinkIdentity);