diff options
author | imcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-09 03:05:12 +0000 |
---|---|---|
committer | imcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-09 03:05:12 +0000 |
commit | adb0fd7992ddc7c94741471fe54f68757491f156 (patch) | |
tree | 0ecb07ae5522e5afb7fe2fcc7b4ae2fd14779f58 /media/cast/cast.gyp | |
parent | 7181490e6efe64c54cd00eae9863a7225a08ca5c (diff) | |
download | chromium_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.gyp | 9 |
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', |