media_stream_proxy.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright 2011 The WebRTC project authors. All Rights Reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #ifndef API_MEDIA_STREAM_PROXY_H_
  11. #define API_MEDIA_STREAM_PROXY_H_
  12. #include <string>
  13. #include "api/media_stream_interface.h"
  14. #include "api/proxy.h"
  15. namespace webrtc {
  16. // TODO(deadbeef): Move this to .cc file and out of api/. What threads methods
  17. // are called on is an implementation detail.
  18. BEGIN_SIGNALING_PROXY_MAP(MediaStream)
  19. PROXY_SIGNALING_THREAD_DESTRUCTOR()
  20. BYPASS_PROXY_CONSTMETHOD0(std::string, id)
  21. PROXY_METHOD0(AudioTrackVector, GetAudioTracks)
  22. PROXY_METHOD0(VideoTrackVector, GetVideoTracks)
  23. PROXY_METHOD1(rtc::scoped_refptr<AudioTrackInterface>,
  24. FindAudioTrack,
  25. const std::string&)
  26. PROXY_METHOD1(rtc::scoped_refptr<VideoTrackInterface>,
  27. FindVideoTrack,
  28. const std::string&)
  29. PROXY_METHOD1(bool, AddTrack, AudioTrackInterface*)
  30. PROXY_METHOD1(bool, AddTrack, VideoTrackInterface*)
  31. PROXY_METHOD1(bool, RemoveTrack, AudioTrackInterface*)
  32. PROXY_METHOD1(bool, RemoveTrack, VideoTrackInterface*)
  33. PROXY_METHOD1(void, RegisterObserver, ObserverInterface*)
  34. PROXY_METHOD1(void, UnregisterObserver, ObserverInterface*)
  35. END_PROXY_MAP()
  36. } // namespace webrtc
  37. #endif // API_MEDIA_STREAM_PROXY_H_