Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10753)

Unified Diff: chrome/renderer/media/cast_receiver_session_delegate.h

Issue 883293005: Cast: Basic cast_receiver API for chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removed extra BUILD.gn line Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/media/cast_receiver_session_delegate.h
diff --git a/chrome/renderer/media/cast_receiver_session_delegate.h b/chrome/renderer/media/cast_receiver_session_delegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..804d9440b7ba5beb551542f01cdbfd5a6376293e
--- /dev/null
+++ b/chrome/renderer/media/cast_receiver_session_delegate.h
@@ -0,0 +1,56 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_RENDERER_MEDIA_CAST_RECEIVER_SESSION_DELEGATE_H_
+#define CHROME_RENDERER_MEDIA_CAST_RECEIVER_SESSION_DELEGATE_H_
+
+#include "chrome/renderer/media/cast_receiver_audio_valve.h"
+#include "chrome/renderer/media/cast_session_delegate.h"
+#include "content/public/renderer/media_stream_video_sink.h"
+#include "media/base/video_capture_types.h"
+#include "media/cast/cast_receiver.h"
+
+class CastReceiverSessionDelegate : public CastSessionDelegateBase {
+ public:
+ CastReceiverSessionDelegate();
+ ~CastReceiverSessionDelegate() override;
+
+ void ReceivePacket(scoped_ptr<media::cast::Packet> packet) override;
+ void LogRawEvents(
+ const std::vector<media::cast::PacketEvent>& packet_events,
+ const std::vector<media::cast::FrameEvent>& frame_events) override;
+
+ void Start(const media::cast::FrameReceiverConfig& audio_config,
+ const media::cast::FrameReceiverConfig& video_config,
+ const net::IPEndPoint& local_endpoint,
+ const net::IPEndPoint& remote_endpoint,
+ scoped_ptr<base::DictionaryValue> options,
+ const media::VideoCaptureFormat& format);
+
+ void StartAudio(scoped_refptr<CastReceiverAudioValve> audio_valve);
+
+ void StartVideo(content::VideoCaptureDeliverFrameCB frame_callback);
+ // Stop Video callbacks (eventually).
+ void StopVideo();
+
+ private:
+ void OnDecodedAudioFrame(scoped_ptr<media::AudioBus> audio_bus,
+ const base::TimeTicks& playout_time,
+ bool is_continous);
+
+ void OnDecodedVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame,
+ const base::TimeTicks& playout_time,
+ bool is_continous);
+
+ scoped_refptr<CastReceiverAudioValve> audio_valve_;
+ content::VideoCaptureDeliverFrameCB frame_callback_;
+ media::cast::AudioFrameDecodedCallback on_audio_decoded_cb_;
+ media::cast::VideoFrameDecodedCallback on_video_decoded_cb_;
+ scoped_ptr<media::cast::CastReceiver> cast_receiver_;
+ media::VideoCaptureFormat format_;
+ base::WeakPtrFactory<CastReceiverSessionDelegate> weak_factory_;
+ DISALLOW_COPY_AND_ASSIGN(CastReceiverSessionDelegate);
+};
+
+#endif // CHROME_RENDERER_MEDIA_CAST_RECEIVER_SESSION_DELEGATE_H_
« no previous file with comments | « chrome/renderer/media/cast_receiver_session.cc ('k') | chrome/renderer/media/cast_receiver_session_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698