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

Unified Diff: media/cast/cast_sender.h

Issue 163553006: Cast: Refactoring Cast API's (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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: media/cast/cast_sender.h
diff --git a/media/cast/cast_sender.h b/media/cast/cast_sender.h
index a15e6d31ee3d090dc21e2eda1d54e337ee14fc01..705b6e40383a7015351f7716aa2d046905a6cffd 100644
--- a/media/cast/cast_sender.h
+++ b/media/cast/cast_sender.h
@@ -23,11 +23,13 @@
namespace media {
class AudioBus;
+class GpuVideoAcceleratorFactories;
class VideoFrame;
-}
-namespace media {
namespace cast {
+class AudioSender;
+class VideoSender;
+
// This Class is thread safe.
Ami GONE FROM CHROMIUM 2014/02/13 18:02:14 "thread safe" usually implies callable from any th
mikhal1 2014/02/14 18:03:16 Comment irrelevant. New comments added. On 2014/02
class FrameInput : public base::RefCountedThreadSafe<FrameInput> {
@@ -48,6 +50,10 @@ class FrameInput : public base::RefCountedThreadSafe<FrameInput> {
const base::TimeTicks& recorded_time,
const base::Closure& done_callback) = 0;
+ virtual void SetAudioSender(base::WeakPtr<AudioSender> audio_sender) = 0;
Ami GONE FROM CHROMIUM 2014/02/13 18:02:14 doco (esp. for public, esp^2 for pure virtual)
mikhal1 2014/02/14 18:03:16 Done.
+
+ virtual void SetVideoSender(base::WeakPtr<VideoSender> video_sender) = 0;
+
protected:
virtual ~FrameInput() {}
@@ -63,9 +69,6 @@ class CastSender {
public:
static CastSender* CreateCastSender(
Ami GONE FROM CHROMIUM 2014/02/13 18:02:14 This doesn't doco ownership semantics of the retur
Alpha Left Google 2014/02/13 19:53:59 This can just be CastSender::Create(...). CastSend
mikhal1 2014/02/14 18:03:16 Renamed. On 2014/02/13 19:53:59, Alpha wrote:
scoped_refptr<CastEnvironment> cast_environment,
- const AudioSenderConfig* audio_config,
- const VideoSenderConfig* video_config,
- const scoped_refptr<GpuVideoAcceleratorFactories>& gpu_factories,
const CastInitializationCallback& cast_initialization,
transport::CastTransportSender* const transport_sender);
@@ -79,6 +82,14 @@ class CastSender {
// All RTCP packets for the session should be inserted to this object.
// Can be called from any thread.
virtual transport::PacketReceiverCallback packet_receiver() = 0;
+
+ // Initialize the audio stack. Must be called in order to send audio frames.
+ virtual void InitializeAudio(const AudioSenderConfig& audio_config) = 0;
+
+ // Initialize the video stack. Must be called in order to send video frames.
+ virtual void InitializeVideo(
+ const VideoSenderConfig& video_config,
+ const scoped_refptr<GpuVideoAcceleratorFactories>& gpu_factories) = 0;
};
} // namespace cast

Powered by Google App Engine
This is Rietveld 408576698