summaryrefslogtreecommitdiffstats
path: root/media/cast/cast.gyp
diff options
context:
space:
mode:
authorimcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-09 03:05:12 +0000
committerimcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-09 03:05:12 +0000
commitadb0fd7992ddc7c94741471fe54f68757491f156 (patch)
tree0ecb07ae5522e5afb7fe2fcc7b4ae2fd14779f58 /media/cast/cast.gyp
parent7181490e6efe64c54cd00eae9863a7225a08ca5c (diff)
downloadchromium_src-adb0fd7992ddc7c94741471fe54f68757491f156.zip
chromium_src-adb0fd7992ddc7c94741471fe54f68757491f156.tar.gz
chromium_src-adb0fd7992ddc7c94741471fe54f68757491f156.tar.bz2
Changed LoggingRaw from pull-based to subscriber-based:
- LoggingRaw no longer keeps its own maps internally. - LoggingRaw now keeps a list of RawEventSubscriber; these subscribers will be notified when there are new raw events. -- Added functions AddSubscriber() / RemoveSubscriber() - Added RawEventSubscriber, which is an interface with 3 functions, each handles a type of raw event (Frame, Packet, Generic) - Added 3 RawEventSubscriber implementations: -- ReceiverRtcpEventSubscriber, which keeps track of events that we want to send over via RTCP from receiver to sender, sorted by rtp timestamp, using a fixed size buffer. There is some data transformation involved. --- This is used in VideoReceiver / AudioReceiver -- SenderRtcpEventSubscriber, which keeps track of events that we want to send over via RTCP from sender to receiver, sorted by rtp timestamp, using a fixed size buffer. There is some data transformation involved and is slightly different from the receiver version. --- This is used in VideoSender -- SimpleEventSubscriber, which keeps track of all events as-is and periodically calls the given callback with the data at a fixed interval. --- I plan to use this in JS app / uploading use case. Other changes: - Remove SupportsWeakPtr from LoggingRaw, as it is not needed, as LoggingRaw is used as an object in LoggingImpl only. Proposal doc: https://docs.google.com/a/google.com/document/d/1GUIN4ZcScnAz_QuqDhxbvp5F6BOvLBjamdW0edMC5p4/edit?disco=AAAAAHx2Ng0 Note: I talked to Herve about his logging requirements, I can draft up a subscriber implementation for that too, if you would like to see how it roughly looks like. Review URL: https://codereview.chromium.org/139783013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249973 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/cast/cast.gyp')
-rw-r--r--media/cast/cast.gyp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/cast/cast.gyp b/media/cast/cast.gyp
index feaa1a2..21e5e55 100644
--- a/media/cast/cast.gyp
+++ b/media/cast/cast.gyp
@@ -31,6 +31,9 @@
'logging/logging_raw.h',
'logging/logging_stats.cc',
'logging/logging_stats.h',
+ 'logging/raw_event_subscriber.h',
+ 'logging/simple_event_subscriber.cc',
+ 'logging/simple_event_subscriber.h',
], # source
},
], # targets,
@@ -66,7 +69,9 @@
'framer/cast_message_builder_unittest.cc',
'framer/frame_buffer_unittest.cc',
'framer/framer_unittest.cc',
- 'logging/logging_unittest.cc',
+ 'logging/logging_impl_unittest.cc',
+ 'logging/logging_raw_unittest.cc',
+ 'logging/simple_event_subscriber_unittest.cc',
'rtcp/mock_rtcp_receiver_feedback.cc',
'rtcp/mock_rtcp_receiver_feedback.h',
'rtcp/mock_rtcp_sender_feedback.cc',
@@ -74,6 +79,8 @@
'rtcp/rtcp_receiver_unittest.cc',
'rtcp/rtcp_sender_unittest.cc',
'rtcp/rtcp_unittest.cc',
+ 'rtcp/receiver_rtcp_event_subscriber_unittest.cc',
+ 'rtcp/sender_rtcp_event_subscriber_unittest.cc',
'rtp_receiver/rtp_receiver_defines.h',
'rtp_receiver/mock_rtp_payload_feedback.cc',
'rtp_receiver/mock_rtp_payload_feedback.h',