Index: chrome/renderer/media/cast_session_delegate.h |
diff --git a/chrome/renderer/media/cast_session_delegate.h b/chrome/renderer/media/cast_session_delegate.h |
index 07dd5add139e2c22c9a162a82122a3c6f9a41830..f02dfa37e33a3017ea826093c4c225c4117df3bd 100644 |
--- a/chrome/renderer/media/cast_session_delegate.h |
+++ b/chrome/renderer/media/cast_session_delegate.h |
@@ -44,25 +44,32 @@ class CastTransportSender; |
// thread. All methods are accessible only on the IO thread. |
class CastSessionDelegate { |
public: |
- typedef base::Callback<void(const scoped_refptr<media::cast::FrameInput>&)> |
- FrameInputAvailableCallback; |
+ typedef base::Callback<void(const scoped_refptr< |
+ media::cast::AudioFrameInput>&)> AudioFrameInputAvailableCallback; |
+ typedef base::Callback<void(const scoped_refptr< |
+ media::cast::VideoFrameInput>&)> VideoFrameInputAvailableCallback; |
typedef base::Callback<void(scoped_ptr<std::string>)> EventLogsCallback; |
typedef base::Callback<void(scoped_ptr<base::DictionaryValue>)> StatsCallback; |
CastSessionDelegate(); |
virtual ~CastSessionDelegate(); |
+ // This will start the session by configuring and creating the Cast transport |
+ // and the Cast sender. |
+ // Must be called before initialization of audio or video. |
+ void StartUDP(const net::IPEndPoint& local_endpoint, |
+ const net::IPEndPoint& remote_endpoint); |
+ |
// After calling StartAudio() or StartVideo() encoding of that media will |
// begin as soon as data is delivered to its sink, if the second method is |
// called the first media will be restarted. It is strongly recommended not to |
// deliver any data between calling the two methods. |
// It's OK to call only one of the two methods. |
+ // StartUDP must be called before these methods. |
void StartAudio(const media::cast::AudioSenderConfig& config, |
- const FrameInputAvailableCallback& callback); |
+ const AudioFrameInputAvailableCallback& callback); |
void StartVideo(const media::cast::VideoSenderConfig& config, |
- const FrameInputAvailableCallback& callback); |
- void StartUDP(const net::IPEndPoint& local_endpoint, |
- const net::IPEndPoint& remote_endpoint); |
+ const VideoFrameInputAvailableCallback& callback); |
void ToggleLogging(bool is_audio, bool enable); |
void GetEventLogsAndReset(bool is_audio, const EventLogsCallback& callback); |
@@ -75,13 +82,6 @@ class CastSessionDelegate { |
void InitializationResult(media::cast::CastInitializationStatus result) const; |
private: |
- // Start encoding threads and initialize the CastEnvironment. |
- void Initialize(const media::cast::CastLoggingConfig& logging_config); |
- |
- // Configure CastSender. It is ready to accept audio / video frames after |
- // receiving a successful call to InitializationResult. |
- void StartSendingInternal(); |
- |
void StatusNotificationCB( |
media::cast::transport::CastTransportStatus status); |
@@ -93,16 +93,8 @@ class CastSessionDelegate { |
scoped_ptr<media::cast::CastSender> cast_sender_; |
scoped_ptr<media::cast::transport::CastTransportSender> cast_transport_; |
- // Configuration for audio and video. |
- scoped_ptr<media::cast::AudioSenderConfig> audio_config_; |
- scoped_ptr<media::cast::VideoSenderConfig> video_config_; |
- |
- FrameInputAvailableCallback audio_frame_input_available_callback_; |
- FrameInputAvailableCallback video_frame_input_available_callback_; |
- |
- net::IPEndPoint local_endpoint_; |
- net::IPEndPoint remote_endpoint_; |
- bool transport_configured_; |
+ AudioFrameInputAvailableCallback audio_frame_input_available_callback_; |
+ VideoFrameInputAvailableCallback video_frame_input_available_callback_; |
scoped_ptr<media::cast::EncodingEventSubscriber> audio_event_subscriber_; |
scoped_ptr<media::cast::EncodingEventSubscriber> video_event_subscriber_; |