};
// This Class is thread safe.
-// The provided PacketSender object will always be called form the main cast
-// thread.
+// The provided CastTransportSender object will always be called from the main
+// cast thread.
+// At least one of AudioSenderConfig and VideoSenderConfig have to be provided.
class CastSender {
public:
static CastSender* CreateCastSender(
scoped_refptr<CastEnvironment> cast_environment,
- const AudioSenderConfig& audio_config,
- const VideoSenderConfig& video_config,
+ const AudioSenderConfig* audio_config,
+ const VideoSenderConfig* video_config,
const scoped_refptr<GpuVideoAcceleratorFactories>& gpu_factories,
+ const CastInitializationCallback& cast_initialization,
transport::CastTransportSender* const transport_sender);
- // TODO(pwestin): Add callback for status messages; initialized, errors etc.
virtual ~CastSender() {}
// All RTCP packets for the session should be inserted to this object.
// Can be called from any thread.
- virtual scoped_refptr<transport::PacketReceiver> packet_receiver() = 0;
+ virtual transport::PacketReceiverCallback packet_receiver() = 0;
};
} // namespace cast