1 /*
2 * Tee output protocol
3 * Copyright (c) 2016 Michael Niedermayer
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 #include <string.h>
23
30
34
39
41
43 {
47
48 for (
i=0;
i<
c->child_count;
i++) {
52 }
53 return main_ret;
54 }
55
57 {
60 int main_ret = 0;
61
62 for (
i=0;
i<
c->child_count;
i++) {
66 }
67
70 return main_ret;
71 }
72
74 {
77
79
80 while (*filename) {
82 char *child_name =
NULL;
85 if (!child_string) {
88 }
89
93 goto loop_fail;
94 }
96 memset(&
c->child[
c->child_count], 0,
sizeof(
c->child[
c->child_count]));
97
100 goto loop_fail;
101
104 h->protocol_whitelist,
h->protocol_blacklist,
106 loop_fail:
112
114 filename++;
115 }
116
118 for (
i=0;
i<
c->child_count;
i++) {
119 h->is_streamed |=
c->child[
i].url_context->is_streamed;
120 }
121
122 h->max_packet_size = 0;
123 for (
i = 0;
i <
c->child_count;
i++) {
124 int max =
c->child[
i].url_context->max_packet_size;
126 continue;
127
128 if (!
h->max_packet_size)
129 h->max_packet_size =
max;
130 else if (
h->max_packet_size >
max)
131 h->max_packet_size =
max;
132 }
133
134 return 0;
138 }
145 .default_whitelist = "crypto,file,http,https,httpproxy,rtmp,tcp,tls"
146 };