summaryrefslogtreecommitdiff
path: root/main/core_unreal.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-08-24 13:45:08 -0300
committerJoshua Colp <jcolp@digium.com>2017-08-28 11:12:50 -0500
commit9a9589e8e11696a8afdbafbb16c687a4d295c23b (patch)
treeb7a6407d87c3dad837ce92c5f410175b7ef9e1fe /main/core_unreal.c
parent9d0c3564eedfa1200aa1c21c915e05af7b0d501d (diff)
core: Reduce video update queueing.
A video update frame is used to indicate that a channel with video negotiated should provide a full frame so the decoder decoding the stream is able to do so. In situations where a queue is used to store frames it makes no sense for the queue to contain multiple video update frames. One is sufficient to have a full frame be sent. ASTERISK-27222 Change-Id: Id3f40a6f51b740ae4704003a1800185c0c658ee7
Diffstat (limited to 'main/core_unreal.c')
-rw-r--r--main/core_unreal.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/main/core_unreal.c b/main/core_unreal.c
index 3db6a4dbd..763be4f0c 100644
--- a/main/core_unreal.c
+++ b/main/core_unreal.c
@@ -330,7 +330,8 @@ int ast_unreal_write(struct ast_channel *ast, struct ast_frame *f)
if (!ast_channel_get_default_stream(ast, AST_MEDIA_TYPE_AUDIO)) {
return 0;
}
- } else if (f->frametype == AST_FRAME_VIDEO) {
+ } else if (f->frametype == AST_FRAME_VIDEO ||
+ (f->frametype == AST_FRAME_CONTROL && f->subclass.integer == AST_CONTROL_VIDUPDATE)) {
if (!ast_channel_get_default_stream(ast, AST_MEDIA_TYPE_VIDEO)) {
return 0;
}