summaryrefslogtreecommitdiff
path: root/frame.c
diff options
context:
space:
mode:
Diffstat (limited to 'frame.c')
-rw-r--r--frame.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/frame.c b/frame.c
index 9006d5f7c..914d4b6b4 100644
--- a/frame.c
+++ b/frame.c
@@ -316,6 +316,13 @@ struct ast_frame *ast_frisolate(struct ast_frame *fr)
out->samples = fr->samples;
out->offset = fr->offset;
out->data = fr->data;
+ /* Copy the timing data */
+ out->has_timing_info = fr->has_timing_info;
+ if (fr->has_timing_info) {
+ out->ts = fr->ts;
+ out->len = fr->len;
+ out->seqno = fr->seqno;
+ }
} else
out = fr;
@@ -380,6 +387,12 @@ struct ast_frame *ast_frdup(struct ast_frame *f)
out->prev = NULL;
out->next = NULL;
memcpy(out->data, f->data, out->datalen);
+ out->has_timing_info = f->has_timing_info;
+ if (f->has_timing_info) {
+ out->ts = f->ts;
+ out->len = f->len;
+ out->seqno = f->seqno;
+ }
return out;
}