aboutsummaryrefslogtreecommitdiffstats
path: root/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'channel.c')
-rwxr-xr-xchannel.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/channel.c b/channel.c
index 3071113c3..2127a46bd 100755
--- a/channel.c
+++ b/channel.c
@@ -1,4 +1,4 @@
-/*
+ /*
* Asterisk -- A telephony toolkit for Linux.
*
* Channel Management
@@ -1269,6 +1269,17 @@ int ast_prod(struct ast_channel *chan)
return 0;
}
+int ast_write_video(struct ast_channel *chan, struct ast_frame *fr)
+{
+ int res;
+ if (!chan->pvt->write_video)
+ return 0;
+ res = ast_write(chan, fr);
+ if (!res)
+ res = 1;
+ return res;
+}
+
int ast_write(struct ast_channel *chan, struct ast_frame *fr)
{
int res = -1;
@@ -1306,6 +1317,13 @@ int ast_write(struct ast_channel *chan, struct ast_frame *fr)
if (chan->pvt->send_text)
res = chan->pvt->send_text(chan, (char *) fr->data);
break;
+ case AST_FRAME_VIDEO:
+ /* XXX Handle translation of video codecs one day XXX */
+ if (chan->pvt->write_video)
+ res = chan->pvt->write_video(chan, fr);
+ else
+ res = 0;
+ break;
default:
if (chan->pvt->write) {
if (chan->pvt->writetrans) {