Removing unused code.
Review URL: https://webrtc-codereview.appspot.com/349008 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1442 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@@ -274,11 +274,6 @@ VCMCodecDataBase::RegisterSendCodec(const VideoCodec* sendCodec,
|
||||
{
|
||||
return VCM_PARAMETER_ERROR;
|
||||
}
|
||||
if (strcmp(sendCodec->plName, "H263") == 0 &&
|
||||
(sendCodec->plType != 34))
|
||||
{
|
||||
return VCM_PARAMETER_ERROR;
|
||||
}
|
||||
if (sendCodec->plType <= 0)
|
||||
{
|
||||
return VCM_PARAMETER_ERROR;
|
||||
@@ -656,9 +651,6 @@ VCMCodecDataBase::CreateAndInitDecoder(WebRtc_UWord8 payloadType,
|
||||
ReleaseDecoder(ptrDecoder);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
SetCodecConfigParameters(*ptrDecoder, *decoderItem->_settings);
|
||||
|
||||
memcpy(&newCodec, decoderItem->_settings, sizeof(VideoCodec));
|
||||
return ptrDecoder;
|
||||
}
|
||||
@@ -721,36 +713,6 @@ VCMCodecDataBase::ReleaseDecoder(VCMGenericDecoder* decoder) const
|
||||
}
|
||||
}
|
||||
|
||||
WebRtc_Word32
|
||||
VCMCodecDataBase::SetCodecConfigParameters(WebRtc_UWord8 payloadType,
|
||||
const WebRtc_UWord8* buffer,
|
||||
WebRtc_Word32 length)
|
||||
{
|
||||
VCMDecoderMapItem* decItem = FindDecoderItem(payloadType);
|
||||
if (decItem == NULL)
|
||||
{
|
||||
return VCM_PARAMETER_ERROR;
|
||||
}
|
||||
switch (decItem->_settings->codecType)
|
||||
{
|
||||
case kVideoCodecMPEG4:
|
||||
{
|
||||
memcpy(decItem->_settings->codecSpecific.MPEG4.configParameters, buffer, length);
|
||||
decItem->_settings->codecSpecific.MPEG4.configParametersSize =
|
||||
static_cast<WebRtc_UWord8>(length);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// This codec doesn't have codec config parameters
|
||||
return VCM_GENERAL_ERROR;
|
||||
}
|
||||
if (_ptrDecoder != NULL && _receiveCodec.plType == decItem->_settings->plType)
|
||||
{
|
||||
return _ptrDecoder->SetCodecConfigParameters(buffer, length);
|
||||
}
|
||||
return VCM_OK;
|
||||
}
|
||||
|
||||
VCMDecoderMapItem*
|
||||
VCMCodecDataBase::FindDecoderItem(WebRtc_UWord8 payloadType) const
|
||||
{
|
||||
@@ -790,28 +752,4 @@ VCMCodecDataBase::CreateDecoder(VideoCodecType type) const
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
VCMCodecDataBase::SetCodecConfigParameters(VCMGenericDecoder& decoder,
|
||||
const VideoCodec& settings)
|
||||
{
|
||||
switch (settings.codecType)
|
||||
{
|
||||
case kVideoCodecMPEG4:
|
||||
{
|
||||
if (settings.codecSpecific.MPEG4.configParametersSize > 0)
|
||||
{
|
||||
decoder.SetCodecConfigParameters(
|
||||
settings.codecSpecific.MPEG4.configParameters,
|
||||
settings.codecSpecific.MPEG4.configParametersSize);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// No codec config parameters for this codec
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -174,10 +174,6 @@ public:
|
||||
|
||||
bool RenderTiming() const;
|
||||
|
||||
WebRtc_Word32 SetCodecConfigParameters(WebRtc_UWord8 payloadType,
|
||||
const WebRtc_UWord8* buffer,
|
||||
WebRtc_Word32 length);
|
||||
|
||||
protected:
|
||||
/**
|
||||
* Create an internal Encoder given a codec type
|
||||
@@ -190,9 +186,6 @@ protected:
|
||||
*/
|
||||
VCMGenericDecoder* CreateDecoder(VideoCodecType type) const;
|
||||
|
||||
static void SetCodecConfigParameters(VCMGenericDecoder& decoder,
|
||||
const VideoCodec& settings);
|
||||
|
||||
VCMDecoderMapItem* FindDecoderItem(WebRtc_UWord8 payloadType) const;
|
||||
|
||||
VCMExtDecoderMapItem* FindExternalDecoderItem(WebRtc_UWord8 payloadType) const;
|
||||
|
||||
@@ -414,12 +414,6 @@ VCMFrameBuffer::PrepareForDecode()
|
||||
_sessionInfo.BuildVP8FragmentationHeader(_buffer, _length,
|
||||
&_fragmentation);
|
||||
}
|
||||
else
|
||||
{
|
||||
_length = _sessionInfo.PrepareForDecode(_buffer);
|
||||
}
|
||||
#else
|
||||
_length = _sessionInfo.PrepareForDecode(_buffer);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ VCMPacket::VCMPacket()
|
||||
isFirstPacket(false),
|
||||
completeNALU(kNaluUnset),
|
||||
insertStartCode(false),
|
||||
bits(false),
|
||||
codecSpecificHeader() {
|
||||
}
|
||||
|
||||
@@ -47,7 +46,6 @@ VCMPacket::VCMPacket(const WebRtc_UWord8* ptr,
|
||||
isFirstPacket(rtpHeader.type.Video.isFirstPacket),
|
||||
completeNALU(kNaluComplete),
|
||||
insertStartCode(false),
|
||||
bits(false),
|
||||
codecSpecificHeader(rtpHeader.type.Video)
|
||||
{
|
||||
CopyCodecSpecifics(rtpHeader.type.Video);
|
||||
@@ -66,7 +64,6 @@ VCMPacket::VCMPacket(const WebRtc_UWord8* ptr, WebRtc_UWord32 size, WebRtc_UWord
|
||||
isFirstPacket(false),
|
||||
completeNALU(kNaluComplete),
|
||||
insertStartCode(false),
|
||||
bits(false),
|
||||
codecSpecificHeader()
|
||||
{}
|
||||
|
||||
@@ -82,7 +79,6 @@ void VCMPacket::Reset() {
|
||||
isFirstPacket = false;
|
||||
completeNALU = kNaluUnset;
|
||||
insertStartCode = false;
|
||||
bits = false;
|
||||
memset(&codecSpecificHeader, 0, sizeof(RTPVideoHeader));
|
||||
}
|
||||
|
||||
|
||||
@@ -23,13 +23,13 @@ class VCMPacket
|
||||
public:
|
||||
VCMPacket();
|
||||
VCMPacket(const WebRtc_UWord8* ptr,
|
||||
const WebRtc_UWord32 size,
|
||||
const WebRtcRTPHeader& rtpHeader);
|
||||
const WebRtc_UWord32 size,
|
||||
const WebRtcRTPHeader& rtpHeader);
|
||||
VCMPacket(const WebRtc_UWord8* ptr,
|
||||
WebRtc_UWord32 size,
|
||||
WebRtc_UWord16 seqNum,
|
||||
WebRtc_UWord32 timestamp,
|
||||
bool markerBit);
|
||||
WebRtc_UWord32 size,
|
||||
WebRtc_UWord16 seqNum,
|
||||
WebRtc_UWord32 timestamp,
|
||||
bool markerBit);
|
||||
|
||||
void Reset();
|
||||
|
||||
@@ -47,10 +47,6 @@ public:
|
||||
VCMNaluCompleteness completeNALU; // Default is kNaluIncomplete.
|
||||
bool insertStartCode; // True if a start code should be inserted before this
|
||||
// packet.
|
||||
bool bits; // The first bits of this packets are zero and the
|
||||
// first
|
||||
// byte should be ORed with the last packet of the
|
||||
// previous frame.
|
||||
RTPVideoHeader codecSpecificHeader;
|
||||
|
||||
protected:
|
||||
@@ -58,5 +54,4 @@ protected:
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // WEBRTC_MODULES_VIDEO_CODING_PACKET_H_
|
||||
|
||||
@@ -108,8 +108,7 @@ int VCMSessionInfo::InsertBuffer(uint8_t* frame_buffer,
|
||||
PacketIterator it;
|
||||
|
||||
int packet_size = packet.sizeBytes;
|
||||
if (!packet.bits)
|
||||
packet_size += (packet.insertStartCode ? kH264StartCodeLengthBytes : 0);
|
||||
packet_size += (packet.insertStartCode ? kH264StartCodeLengthBytes : 0);
|
||||
|
||||
// Calculate the offset into the frame buffer for this packet.
|
||||
int offset = 0;
|
||||
@@ -529,7 +528,6 @@ int VCMSessionInfo::InsertPacket(const VCMPacket& packet,
|
||||
uint8_t* frame_buffer,
|
||||
bool enable_decodable_state,
|
||||
int rtt_ms) {
|
||||
assert(!packet.insertStartCode || !packet.bits);
|
||||
// Check if this is first packet (only valid for some codecs)
|
||||
if (packet.isFirstPacket) {
|
||||
// The first packet in a frame signals the frame type.
|
||||
@@ -584,72 +582,6 @@ void VCMSessionInfo::InformOfEmptyPacket(uint16_t seq_num) {
|
||||
empty_seq_num_low_ = seq_num;
|
||||
}
|
||||
|
||||
int VCMSessionInfo::PrepareForDecode(uint8_t* frame_buffer) {
|
||||
int length = SessionLength();
|
||||
int real_data_bytes = 0;
|
||||
if (length == 0)
|
||||
return length;
|
||||
PacketIterator it = packets_.begin();
|
||||
PacketIterator prev_it = it;
|
||||
for (; it != packets_.end(); ++it) {
|
||||
bool packet_loss = ((*prev_it).sizeBytes == 0 ||
|
||||
!InSequence(it, prev_it));
|
||||
if ((*it).bits) {
|
||||
if (prev_it != it) { // Not the first packet.
|
||||
uint8_t* ptr_first_byte =
|
||||
const_cast<uint8_t*>((*it).dataPtr);
|
||||
|
||||
if (packet_loss) {
|
||||
// It is be better to throw away this packet if we are
|
||||
// missing the previous packet.
|
||||
memset(ptr_first_byte, 0, (*it).sizeBytes);
|
||||
++packets_not_decodable_;
|
||||
} else if ((*it).sizeBytes > 0) {
|
||||
// Glue with previous byte.
|
||||
// Move everything from [this packet start + 1, end of buffer] one
|
||||
// byte to the left.
|
||||
uint8_t* ptr_prev_byte =
|
||||
const_cast<uint8_t*>((*prev_it).dataPtr) +
|
||||
(*prev_it).sizeBytes - 1;
|
||||
*ptr_prev_byte = (*ptr_prev_byte) | (*ptr_first_byte);
|
||||
memmove(const_cast<uint8_t*>((*it).dataPtr),
|
||||
(*it).dataPtr + 1, (*it).sizeBytes - 1);
|
||||
ShiftSubsequentPackets(it, -1);
|
||||
(*it).sizeBytes--;
|
||||
length--;
|
||||
real_data_bytes += (*it).sizeBytes;
|
||||
}
|
||||
} else {
|
||||
memset(const_cast<uint8_t*>((*it).dataPtr), 0,
|
||||
(*it).sizeBytes);
|
||||
++packets_not_decodable_;
|
||||
}
|
||||
} else if (packet_loss &&
|
||||
(*it).codecSpecificHeader.codec == kRTPVideoH263) {
|
||||
// Pad H.263 packet losses with 10 zeros to make it easier
|
||||
// for the decoder.
|
||||
const int kPaddingLength = 10;
|
||||
WebRtc_UWord8 padding_data[kPaddingLength] = {0};
|
||||
// Make a copy of the previous packet.
|
||||
VCMPacket padding_packet(*it);
|
||||
++padding_packet.seqNum;
|
||||
padding_packet.dataPtr = padding_data;
|
||||
padding_packet.sizeBytes = kPaddingLength;
|
||||
length += InsertPacket(padding_packet, frame_buffer, false, 0);
|
||||
} else {
|
||||
real_data_bytes += (*it).sizeBytes;
|
||||
}
|
||||
prev_it = it;
|
||||
}
|
||||
if (real_data_bytes == 0) {
|
||||
// Drop the frame since all it contains are zeros.
|
||||
for (it = packets_.begin(); it != packets_.end(); ++it)
|
||||
(*it).sizeBytes = 0;
|
||||
length = 0;
|
||||
}
|
||||
return length;
|
||||
}
|
||||
|
||||
int VCMSessionInfo::packets_not_decodable() const {
|
||||
return packets_not_decodable_;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,6 @@ class VCMSessionInfo {
|
||||
bool LayerSync() const;
|
||||
int Tl0PicId() const;
|
||||
bool NonReference() const;
|
||||
int PrepareForDecode(uint8_t* frame_buffer);
|
||||
void SetPreviousFrameLoss() { previous_frame_loss_ = true; }
|
||||
bool PreviousFrameLoss() const { return previous_frame_loss_; }
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@ class TestSessionInfo : public ::testing::Test {
|
||||
packet_.dataPtr = packet_buffer_;
|
||||
packet_.seqNum = 0;
|
||||
packet_.timestamp = 0;
|
||||
packet_.bits = false;
|
||||
}
|
||||
|
||||
void FillPacket(uint8_t start_value) {
|
||||
@@ -89,7 +88,7 @@ class TestNalUnits : public TestSessionInfo {
|
||||
protected:
|
||||
virtual void SetUp() {
|
||||
TestSessionInfo::SetUp();
|
||||
packet_.codec = kVideoCodecH264;
|
||||
packet_.codec = kVideoCodecVP8;
|
||||
}
|
||||
|
||||
bool VerifyNalu(int offset, int packets_expected, int start_value) {
|
||||
@@ -915,72 +914,4 @@ TEST_F(TestNackList, LostAllButEmptyPackets) {
|
||||
EXPECT_EQ(-2, seq_num_list_[3]);
|
||||
EXPECT_EQ(4, seq_num_list_[4]);
|
||||
}
|
||||
|
||||
TEST_F(TestSessionInfo, PacketPriorBitsPacketLost) {
|
||||
packet_.seqNum = 0;
|
||||
packet_.codecSpecificHeader.codec = kRTPVideoH263;
|
||||
packet_.bits = true;
|
||||
packet_.isFirstPacket = false;
|
||||
packet_.markerBit = true;
|
||||
FillPacket(1);
|
||||
ASSERT_EQ(session_.InsertPacket(packet_, frame_buffer_, false, 0),
|
||||
kPacketBufferSize);
|
||||
|
||||
EXPECT_EQ(0, session_.PrepareForDecode(frame_buffer_));
|
||||
EXPECT_EQ(0, session_.SessionLength());
|
||||
EXPECT_EQ(1, session_.packets_not_decodable());
|
||||
}
|
||||
|
||||
TEST_F(TestSessionInfo, MiddlePacketPriorBitsPacketLost) {
|
||||
packet_.codecSpecificHeader.codec = kRTPVideoH263;
|
||||
packet_.bits = false;
|
||||
packet_.isFirstPacket = true;
|
||||
packet_.seqNum = 0;
|
||||
packet_.markerBit = false;
|
||||
FillPacket(2);
|
||||
ASSERT_EQ(session_.InsertPacket(packet_, frame_buffer_, false, 0),
|
||||
kPacketBufferSize);
|
||||
|
||||
packet_.bits = true;
|
||||
packet_.isFirstPacket = false;
|
||||
packet_.seqNum += 2;
|
||||
packet_.markerBit = true;
|
||||
FillPacket(2);
|
||||
ASSERT_EQ(session_.InsertPacket(packet_, frame_buffer_, false, 0),
|
||||
kPacketBufferSize);
|
||||
|
||||
EXPECT_EQ(2 * kPacketBufferSize, session_.PrepareForDecode(frame_buffer_));
|
||||
EXPECT_EQ(2 * kPacketBufferSize, session_.SessionLength());
|
||||
EXPECT_EQ(1, session_.packets_not_decodable());
|
||||
}
|
||||
|
||||
TEST_F(TestSessionInfo, ORingReorderedBitsPackets) {
|
||||
const uint8_t kEndByte = 0x07;
|
||||
const uint8_t kStartByte = 0xF8;
|
||||
packet_.codecSpecificHeader.codec = kRTPVideoH263;
|
||||
packet_.bits = true;
|
||||
packet_.isFirstPacket = false;
|
||||
packet_.seqNum = 1;
|
||||
packet_.markerBit = true;
|
||||
FillPacket(2);
|
||||
packet_buffer_[0] = kStartByte;
|
||||
ASSERT_EQ(session_.InsertPacket(packet_, frame_buffer_, false, 0),
|
||||
kPacketBufferSize);
|
||||
|
||||
packet_.bits = false;
|
||||
packet_.isFirstPacket = true;
|
||||
packet_.seqNum = 0;
|
||||
packet_.markerBit = false;
|
||||
FillPacket(1);
|
||||
packet_buffer_[kPacketBufferSize - 1] = kEndByte;
|
||||
ASSERT_EQ(session_.InsertPacket(packet_, frame_buffer_, false, 0),
|
||||
kPacketBufferSize);
|
||||
|
||||
EXPECT_EQ(2 * kPacketBufferSize - 1,
|
||||
session_.PrepareForDecode(frame_buffer_));
|
||||
EXPECT_EQ(2 * kPacketBufferSize - 1, session_.SessionLength());
|
||||
EXPECT_EQ(kStartByte | kEndByte, frame_buffer_[kPacketBufferSize - 1]);
|
||||
EXPECT_EQ(0, session_.packets_not_decodable());
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
@@ -1405,32 +1405,6 @@ VideoCodingModuleImpl::IncomingPacket(const WebRtc_UWord8* incomingPayload,
|
||||
return VCM_OK;
|
||||
}
|
||||
|
||||
// Set codec config parameters
|
||||
WebRtc_Word32
|
||||
VideoCodingModuleImpl::SetCodecConfigParameters(WebRtc_UWord8 payloadType,
|
||||
const WebRtc_UWord8* buffer,
|
||||
WebRtc_Word32 length)
|
||||
{
|
||||
WEBRTC_TRACE(webrtc::kTraceModuleCall,
|
||||
webrtc::kTraceVideoCoding,
|
||||
VCMId(_id),
|
||||
"SetCodecConfigParameters()");
|
||||
CriticalSectionScoped cs(_receiveCritSect);
|
||||
|
||||
WebRtc_Word32 ret = _codecDataBase.SetCodecConfigParameters(payloadType,
|
||||
buffer,
|
||||
length);
|
||||
if (ret < 0)
|
||||
{
|
||||
WEBRTC_TRACE(webrtc::kTraceError,
|
||||
webrtc::kTraceVideoCoding,
|
||||
VCMId(_id),
|
||||
"SetCodecConfigParameters() failed, %d", ret);
|
||||
return ret;
|
||||
}
|
||||
return VCM_OK;
|
||||
}
|
||||
|
||||
// Minimum playout delay (used for lip-sync). This is the minimum delay required
|
||||
// to sync with audio. Not included in VideoCodingModule::Delay()
|
||||
// Defaults to 0 ms.
|
||||
|
||||
@@ -228,11 +228,6 @@ public:
|
||||
virtual WebRtc_Word32 DecodeFromStorage(
|
||||
const EncodedVideoData& frameFromStorage);
|
||||
|
||||
// Set codec config parameters
|
||||
virtual WebRtc_Word32 SetCodecConfigParameters(WebRtc_UWord8 payloadType,
|
||||
const WebRtc_UWord8* buffer,
|
||||
WebRtc_Word32 length);
|
||||
|
||||
// Minimum playout delay (Used for lip-sync). This is the minimum delay
|
||||
// required to sync with audio. Not included in VideoCodingModule::Delay()
|
||||
// Defaults to 0 ms.
|
||||
|
||||
Reference in New Issue
Block a user