RtpFrameObject::GetCodecHeader now return rtc::Optional<RTPVideoTypeHeader>
Since it is unsafe to hand out a pointer to a packet that might be removed/ overwritten at any time we now return a copy of the header if it exist. BUG=webrtc:5514 Review-Url: https://codereview.webrtc.org/2468183002 Cr-Commit-Position: refs/heads/master@{#14920}
This commit is contained in:
@ -9,7 +9,6 @@
|
||||
*/
|
||||
|
||||
#include "webrtc/modules/video_coding/frame_object.h"
|
||||
#include "webrtc/base/criticalsection.h"
|
||||
#include "webrtc/modules/video_coding/packet_buffer.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -97,11 +96,12 @@ int64_t RtpFrameObject::RenderTime() const {
|
||||
return _renderTimeMs;
|
||||
}
|
||||
|
||||
RTPVideoTypeHeader* RtpFrameObject::GetCodecHeader() const {
|
||||
rtc::Optional<RTPVideoTypeHeader> RtpFrameObject::GetCodecHeader() const {
|
||||
rtc::CritScope lock(&packet_buffer_->crit_);
|
||||
VCMPacket* packet = packet_buffer_->GetPacket(first_seq_num_);
|
||||
if (!packet)
|
||||
return nullptr;
|
||||
return &packet->video_header.codecHeader;
|
||||
return rtc::Optional<RTPVideoTypeHeader>();
|
||||
return rtc::Optional<RTPVideoTypeHeader>(packet->video_header.codecHeader);
|
||||
}
|
||||
|
||||
} // namespace video_coding
|
||||
|
||||
Reference in New Issue
Block a user