Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / content / renderer / media / rtc_video_encoder.h
index eb1677e..8f1d279 100644 (file)
@@ -35,10 +35,13 @@ namespace content {
 // webrtc::VideoEncoder class for WebRTC.  Internally, VEA methods are
 // trampolined to a private RTCVideoEncoder::Impl instance.  The Impl class runs
 // on the worker thread queried from the |gpu_factories_|, which is presently
-// the media thread.  RTCVideoEncoder itself is run and destroyed on the thread
-// it is constructed on, which is presently the libjingle worker thread.
-// Callbacks from the Impl due to its VEA::Client notifications are also posted
-// back to RTCVideoEncoder on this thread.
+// the media thread.  RTCVideoEncoder is sychronized by webrtc::VideoSender.
+// webrtc::VideoEncoder methods do not run concurrently. RTCVideoEncoder is run
+// and destroyed on the thread it is constructed on, which is presently the
+// libjingle worker thread. Encode is run on ViECaptureThread. SetRates and
+// SetChannelParameters are run on ProcessThread or the libjingle worker thread.
+// Callbacks from the Impl due to its VEA::Client notifications are posted back
+// to RTCVideoEncoder on the libjingle worker thread.
 class CONTENT_EXPORT RTCVideoEncoder
     : NON_EXPORTED_BASE(public webrtc::VideoEncoder) {
  public: