FS-7508: fix when reading invalid vp9 and cleanup a bit

This commit is contained in:
Seven Du 2015-03-13 09:03:52 +08:00 committed by Michael Jerris
parent 897ec20c99
commit 18cd917916
1 changed files with 3 additions and 9 deletions

View File

@ -623,11 +623,6 @@ static switch_status_t buffer_vp8_packets(vpx_context_t *context, switch_frame_t
uint8_t PID;
int len;
if (!frame) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no frame in codec!!\n");
return SWITCH_STATUS_RESTART;
}
DES = *data;
data++;
S = DES & 0x10;
@ -679,10 +674,7 @@ static switch_status_t buffer_vp9_packets(vpx_context_t *context, switch_frame_t
uint8_t *vp9 = (uint8_t *)frame->data;
int len = 0;
if (!frame) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no frame in codec!!\n");
return SWITCH_STATUS_RESTART;
}
// switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%02x %02x %02x %02x %d %d\n", *data, *(data+1), *(data+2), *(data+3), frame->m, frame->datalen);
if (switch_buffer_inuse(context->vpx_packet_buffer)) { // middle packet
if (IS_VP9_START_PKT(*vp9)) {
@ -692,6 +684,7 @@ static switch_status_t buffer_vp9_packets(vpx_context_t *context, switch_frame_t
} else { // start packet
if (!IS_VP9_START_PKT(*vp9)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "got invalid vp9 packet, packet loss? waiting for a start packet\n");
goto end;
}
}
@ -700,6 +693,7 @@ static switch_status_t buffer_vp9_packets(vpx_context_t *context, switch_frame_t
len = frame->datalen - (vp9 - data);
switch_buffer_write(context->vpx_packet_buffer, vp9, len);
end:
// switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffered %d bytes, buffer size: %" SWITCH_SIZE_T_FMT "\n", len, switch_buffer_inuse(context->vpx_packet_buffer));
return SWITCH_STATUS_SUCCESS;