mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-27 13:44:16 +00:00
FS-7500: reduce CNG frames on video and move debug from mod_fsv to the core with a flag to enable it since the raw packet is not available anymore when you set DECODED READ flag
This commit is contained in:
1 parent
140a1c9661
commit
b8ba1a1469
6 files changed
+28
-19
No files matched your search
@@ -723,6 +723,7 @@ static void decode_video_thread(switch_core_session_t *session, void *obj)
|
||||
}
|
||||
|
||||
switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
|
||||
switch_channel_set_flag(channel, CF_VIDEO_DEBUG_READ);
|
||||
|
||||
while (switch_channel_ready(channel)) {
|
||||
switch_status_t status = switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0);
|
||||
@@ -742,15 +743,6 @@ static void decode_video_thread(switch_core_session_t *session, void *obj)
|
||||
continue;
|
||||
}
|
||||
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "seq: %d ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark: %d %s\n",
|
||||
frame->seq, frame->timestamp, frame->datalen,
|
||||
*((uint8_t *)frame->data), *((uint8_t *)frame->data + 1),
|
||||
*((uint8_t *)frame->data + 2), *((uint8_t *)frame->data + 3),
|
||||
*((uint8_t *)frame->data + 4), *((uint8_t *)frame->data + 5),
|
||||
*((uint8_t *)frame->data + 6), *((uint8_t *)frame->data + 7),
|
||||
*((uint8_t *)frame->data + 8), *((uint8_t *)frame->data + 9),
|
||||
*((uint8_t *)frame->data + 10), frame->m, switch_test_flag(frame, SFF_CNG) ? " CNG" : "");
|
||||
|
||||
if (switch_test_flag(frame, SFF_CNG) || frame->datalen < 3) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -315,16 +315,19 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_
|
||||
|
||||
static switch_status_t consume_partition(vpx_context_t *context, switch_frame_t *frame)
|
||||
{
|
||||
if (!context->pkt) context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter);
|
||||
if (!context->pkt) {
|
||||
context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter);
|
||||
context->pkt_pos = 0;
|
||||
}
|
||||
|
||||
if (context->pkt) {
|
||||
// if (context->pkt) {
|
||||
// if (context->pkt->kind == VPX_CODEC_CX_FRAME_PKT && (context->pkt->data.frame.flags & VPX_FRAME_IS_KEY) && context->pkt_pos == 0) {
|
||||
// switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "============================Got a VP8 Key Frame size:[%d]===================================\n", (int)context->pkt->data.frame.sz);
|
||||
// }
|
||||
|
||||
// switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "size:%d flag: %x part_id: %d pts: %lld duration:%ld\n",
|
||||
// (int)context->pkt->data.frame.sz, context->pkt->data.frame.flags, context->pkt->data.frame.partition_id, context->pkt->data.frame.pts, context->pkt->data.frame.duration);
|
||||
}
|
||||
//}
|
||||
|
||||
if (!context->pkt || context->pkt_pos >= context->pkt->data.frame.sz - 1 || context->pkt->kind != VPX_CODEC_CX_FRAME_PKT) {
|
||||
frame->datalen = 0;
|
||||
|
||||
Reference in new issue
Block a user