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/interface/critical_section_wrapper.h" 16 17 namespace webrtc { 18 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 25 void RTPReceiverStrategy::GetLastMediaSpecificPayload( 26 PayloadUnion* payload) const { 27 CriticalSectionScoped cs(crit_sect_.get()); 28 memcpy(payload, &last_payload_, sizeof(*payload)); 29 } 30 31 void RTPReceiverStrategy::SetLastMediaSpecificPayload( 32 const PayloadUnion& payload) { 33 CriticalSectionScoped cs(crit_sect_.get()); 34 memcpy(&last_payload_, &payload, sizeof(last_payload_)); 35 } 36 37 void RTPReceiverStrategy::CheckPayloadChanged(int8_t payload_type, 38 PayloadUnion* specific_payload, 39 bool* should_reset_statistics, 40 bool* should_discard_changes) { 41 // Default: Keep changes and don't reset statistics. 42 *should_discard_changes = false; 43 *should_reset_statistics = false; 44 } 45 46 int RTPReceiverStrategy::Energy(uint8_t array_of_energy[kRtpCsrcSize]) const { 47 return -1; 48 } 49 50 } // namespace webrtc 51