1 /*
2  *  Copyright (c) 2012 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 
11 #include "webrtc/modules/rtp_rtcp/source/rtp_receiver_strategy.h"
12 
13 #include <stdlib.h>
14 
15 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
16 
17 namespace webrtc {
18 
RTPReceiverStrategy(RtpData * data_callback)19 RTPReceiverStrategy::RTPReceiverStrategy(RtpData* data_callback)
20     : crit_sect_(CriticalSectionWrapper::CreateCriticalSection()),
21       data_callback_(data_callback) {
22   memset(&last_payload_, 0, sizeof(last_payload_));
23 }
24 
GetLastMediaSpecificPayload(PayloadUnion * payload) const25 void RTPReceiverStrategy::GetLastMediaSpecificPayload(
26     PayloadUnion* payload) const {
27   CriticalSectionScoped cs(crit_sect_.get());
28   memcpy(payload, &last_payload_, sizeof(*payload));
29 }
30 
SetLastMediaSpecificPayload(const PayloadUnion & payload)31 void RTPReceiverStrategy::SetLastMediaSpecificPayload(
32     const PayloadUnion& payload) {
33   CriticalSectionScoped cs(crit_sect_.get());
34   memcpy(&last_payload_, &payload, sizeof(last_payload_));
35 }
36 
CheckPayloadChanged(int8_t payload_type,PayloadUnion * specific_payload,bool * should_discard_changes)37 void RTPReceiverStrategy::CheckPayloadChanged(int8_t payload_type,
38                                               PayloadUnion* specific_payload,
39                                               bool* should_discard_changes) {
40   // Default: Keep changes.
41   *should_discard_changes = false;
42 }
43 
Energy(uint8_t array_of_energy[kRtpCsrcSize]) const44 int RTPReceiverStrategy::Energy(uint8_t array_of_energy[kRtpCsrcSize]) const {
45   return -1;
46 }
47 
48 }  // namespace webrtc
49