OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <ostream> | 5 #include <ostream> |
6 | 6 |
7 #include "services/media/framework_ffmpeg/ffmpeg_formatting.h" | 7 #include "services/media/framework_ffmpeg/ffmpeg_formatting.h" |
8 extern "C" { | 8 extern "C" { |
9 #include "third_party/ffmpeg/libavformat/avformat.h" | 9 #include "third_party/ffmpeg/libavformat/avformat.h" |
10 #include "third_party/ffmpeg/libavformat/internal.h" | 10 #include "third_party/ffmpeg/libavformat/internal.h" |
11 #include "third_party/ffmpeg/libavutil/dict.h" | 11 #include "third_party/ffmpeg/libavutil/dict.h" |
12 } | 12 } |
13 | 13 |
14 namespace mojo { | 14 namespace mojo { |
15 namespace media { | 15 namespace media { |
16 | 16 |
17 const char* safe(const char* s) { | 17 const char* safe(const char* s) { |
18 return s == nullptr ? "<nullptr>" : s; | 18 return s == nullptr ? "<nullptr>" : s; |
19 } | 19 } |
20 | 20 |
21 std::ostream& operator<<( | 21 std::ostream& operator<<(std::ostream& os, |
22 std::ostream& os, | 22 const struct AVCodecTag* const* value) { |
23 const struct AVCodecTag *const *value) { | |
24 if (value == nullptr) { | 23 if (value == nullptr) { |
25 return os << "<nullptr>" << std::endl; | 24 return os << "<nullptr>" << std::endl; |
26 } else if (*value == nullptr) { | 25 } else if (*value == nullptr) { |
27 return os << "&<nullptr>" << std::endl; | 26 return os << "&<nullptr>" << std::endl; |
28 } else { | 27 } else { |
29 os << std::endl; | 28 os << std::endl; |
30 } | 29 } |
31 | 30 |
32 os << indent; | 31 os << indent; |
33 os << begl << "AVCodecID id: " << (*value)->id << std::endl; | 32 os << begl << "AVCodecID id: " << (*value)->id << std::endl; |
34 os << begl << "unsigned int tag: " << (*value)->tag << std::endl; | 33 os << begl << "unsigned int tag: " << (*value)->tag << std::endl; |
35 return os << outdent; | 34 return os << outdent; |
36 } | 35 } |
37 | 36 |
38 std::ostream& operator<<(std::ostream& os, const AVInputFormat *value) { | 37 std::ostream& operator<<(std::ostream& os, const AVInputFormat* value) { |
39 if (value == nullptr) { | 38 if (value == nullptr) { |
40 return os << "<nullptr>" << std::endl; | 39 return os << "<nullptr>" << std::endl; |
41 } else { | 40 } else { |
42 os << std::endl; | 41 os << std::endl; |
43 } | 42 } |
44 | 43 |
45 os << indent; | 44 os << indent; |
46 os << begl << "const char *name: " << value->name << std::endl; | 45 os << begl << "const char *name: " << value->name << std::endl; |
47 os << begl << "const char *long_name: " << value->long_name << std::endl; | 46 os << begl << "const char *long_name: " << value->long_name << std::endl; |
48 os << begl << "int flags: " << AVFMTFlags(value->flags); | 47 os << begl << "int flags: " << AVFMTFlags(value->flags); |
49 os << begl << "const char *extensions: " << safe(value->extensions) | 48 os << begl << "const char *extensions: " << safe(value->extensions) |
50 << std::endl; | 49 << std::endl; |
51 os << begl << "const AVCodecTag * const *codec_tag: " << value->codec_tag; | 50 os << begl << "const AVCodecTag * const *codec_tag: " << value->codec_tag; |
52 os << begl << "const char *mime_type: " << safe(value->mime_type) | 51 os << begl << "const char *mime_type: " << safe(value->mime_type) |
53 << std::endl; | 52 << std::endl; |
54 return os << outdent; | 53 return os << outdent; |
55 } | 54 } |
56 | 55 |
57 std::ostream& operator<<(std::ostream& os, const AVOutputFormat *value) { | 56 std::ostream& operator<<(std::ostream& os, const AVOutputFormat* value) { |
58 if (value == nullptr) { | 57 if (value == nullptr) { |
59 return os << "<nullptr>" << std::endl; | 58 return os << "<nullptr>" << std::endl; |
60 } else { | 59 } else { |
61 os << std::endl; | 60 os << std::endl; |
62 } | 61 } |
63 | 62 |
64 os << indent; | 63 os << indent; |
65 os << begl << "const char *name: " << safe(value->name) << std::endl; | 64 os << begl << "const char *name: " << safe(value->name) << std::endl; |
66 os << begl << "const char *long_name: " << safe(value->long_name) | 65 os << begl << "const char *long_name: " << safe(value->long_name) |
67 << std::endl; | 66 << std::endl; |
68 os << begl << "const char *mime_type: " << safe(value->mime_type) | 67 os << begl << "const char *mime_type: " << safe(value->mime_type) |
69 << std::endl; | 68 << std::endl; |
70 os << begl << "const char *extensions: " << safe(value->extensions) | 69 os << begl << "const char *extensions: " << safe(value->extensions) |
71 << std::endl; | 70 << std::endl; |
72 os << begl << "AVCodecID audio_codec: " << value->audio_codec; | 71 os << begl << "AVCodecID audio_codec: " << value->audio_codec; |
73 os << begl << "AVCodecID video_codec: " << value->video_codec; | 72 os << begl << "AVCodecID video_codec: " << value->video_codec; |
74 os << begl << "AVCodecID subtitle_codec: " << value->subtitle_codec; | 73 os << begl << "AVCodecID subtitle_codec: " << value->subtitle_codec; |
75 os << begl << "int flags: " << AVFMTFlags(value->flags); | 74 os << begl << "int flags: " << AVFMTFlags(value->flags); |
76 os << begl << "const AVCodecTag * const *codec_tag: " << value->codec_tag; | 75 os << begl << "const AVCodecTag * const *codec_tag: " << value->codec_tag; |
77 return os << outdent; | 76 return os << outdent; |
78 } | 77 } |
79 | 78 |
80 std::ostream& operator<<(std::ostream& os, const AVIOContext *value) { | 79 std::ostream& operator<<(std::ostream& os, const AVIOContext* value) { |
81 if (value == nullptr) { | 80 if (value == nullptr) { |
82 return os << "<nullptr>" << std::endl; | 81 return os << "<nullptr>" << std::endl; |
83 } else { | 82 } else { |
84 return os << "TODO" << std::endl; | 83 return os << "TODO" << std::endl; |
85 } | 84 } |
86 } | 85 } |
87 | 86 |
88 std::ostream& operator<<(std::ostream& os, AVFMTCTXFlags value) { | 87 std::ostream& operator<<(std::ostream& os, AVFMTCTXFlags value) { |
89 if (value.flags_ == 0) { | 88 if (value.flags_ == 0) { |
90 return os << "<none>" << std::endl; | 89 return os << "<none>" << std::endl; |
91 } | 90 } |
92 | 91 |
93 if (value.flags_ & AVFMTCTX_NOHEADER) { | 92 if (value.flags_ & AVFMTCTX_NOHEADER) { |
94 return os << "AVFMTCTX_NOHEADER" << std::endl; | 93 return os << "AVFMTCTX_NOHEADER" << std::endl; |
95 } else { | 94 } else { |
96 return os << "<UNKNOWN AVFMTCTX_: " << value.flags_ << ">" << std::endl; | 95 return os << "<UNKNOWN AVFMTCTX_: " << value.flags_ << ">" << std::endl; |
97 } | 96 } |
98 } | 97 } |
99 | 98 |
100 std::ostream& operator<<(std::ostream& os, const AVRational *value) { | 99 std::ostream& operator<<(std::ostream& os, const AVRational* value) { |
101 if (value == nullptr) { | 100 if (value == nullptr) { |
102 return os << "<none>" << std::endl; | 101 return os << "<none>" << std::endl; |
103 } else { | 102 } else { |
104 os << std::endl; | 103 os << std::endl; |
105 } | 104 } |
106 | 105 |
107 os << indent; | 106 os << indent; |
108 for (int index = 0; value->num != 0 || value->den != 0; ++value, ++index) { | 107 for (int index = 0; value->num != 0 || value->den != 0; ++value, ++index) { |
109 os << begl << "[" << index << "]: " << *value; | 108 os << begl << "[" << index << "]: " << *value; |
110 } | 109 } |
111 return os << outdent; | 110 return os << outdent; |
112 } | 111 } |
113 | 112 |
114 std::ostream& operator<<(std::ostream& os, const int *value) { | 113 std::ostream& operator<<(std::ostream& os, const int* value) { |
115 if (value == nullptr) { | 114 if (value == nullptr) { |
116 return os << "<none>" << std::endl; | 115 return os << "<none>" << std::endl; |
117 } else { | 116 } else { |
118 os << std::endl; | 117 os << std::endl; |
119 } | 118 } |
120 | 119 |
121 os << indent; | 120 os << indent; |
122 for (int index = 0; *value != 0; ++value, ++index) { | 121 for (int index = 0; *value != 0; ++value, ++index) { |
123 os << begl << "[" << index << "]: " << *value << std::endl; | 122 os << begl << "[" << index << "]: " << *value << std::endl; |
124 } | 123 } |
125 return os << outdent; | 124 return os << outdent; |
126 } | 125 } |
127 | 126 |
128 std::ostream& operator<<(std::ostream& os, const uint64_t *value) { | 127 std::ostream& operator<<(std::ostream& os, const uint64_t* value) { |
129 if (value == nullptr) { | 128 if (value == nullptr) { |
130 return os << "<none>" << std::endl; | 129 return os << "<none>" << std::endl; |
131 } else { | 130 } else { |
132 os << std::endl; | 131 os << std::endl; |
133 } | 132 } |
134 | 133 |
135 os << indent; | 134 os << indent; |
136 for (int index = 0; *value != 0; ++value, ++index) { | 135 for (int index = 0; *value != 0; ++value, ++index) { |
137 os << begl << "[" << index << "]: " << *value << std::endl; | 136 os << begl << "[" << index << "]: " << *value << std::endl; |
138 } | 137 } |
139 return os << outdent; | 138 return os << outdent; |
140 } | 139 } |
141 | 140 |
142 std::ostream& operator<<(std::ostream& os, const AVSampleFormat *value) { | 141 std::ostream& operator<<(std::ostream& os, const AVSampleFormat* value) { |
143 if (value == nullptr) { | 142 if (value == nullptr) { |
144 return os << "<none>" << std::endl; | 143 return os << "<none>" << std::endl; |
145 } else { | 144 } else { |
146 os << std::endl; | 145 os << std::endl; |
147 } | 146 } |
148 | 147 |
149 os << indent; | 148 os << indent; |
150 for (int index = 0; int(*value) != 0; ++value, ++index) { | 149 for (int index = 0; int(*value) != 0; ++value, ++index) { |
151 os << begl << "[" << index << "]: " << *value; | 150 os << begl << "[" << index << "]: " << *value; |
152 } | 151 } |
153 return os << outdent; | 152 return os << outdent; |
154 } | 153 } |
155 | 154 |
156 std::ostream& operator<<(std::ostream& os, const AVCodec *value) { | 155 std::ostream& operator<<(std::ostream& os, const AVCodec* value) { |
157 if (value == nullptr) { | 156 if (value == nullptr) { |
158 return os << "<nullptr>" << std::endl; | 157 return os << "<nullptr>" << std::endl; |
159 } else { | 158 } else { |
160 os << std::endl; | 159 os << std::endl; |
161 } | 160 } |
162 | 161 |
163 os << indent; | 162 os << indent; |
164 os << begl << "const char *name: " << safe(value->name) << std::endl; | 163 os << begl << "const char *name: " << safe(value->name) << std::endl; |
165 os << begl << "const char *long_name: " << safe(value->long_name) | 164 os << begl << "const char *long_name: " << safe(value->long_name) |
166 << std::endl; | 165 << std::endl; |
167 os << begl << "AVMediaType type: " << value->type; | 166 os << begl << "AVMediaType type: " << value->type; |
168 os << begl << "AVCodecID id: " << value->id; | 167 os << begl << "AVCodecID id: " << value->id; |
169 os << begl << "int capabilities: " << value->capabilities << std::endl; | 168 os << begl << "int capabilities: " << value->capabilities << std::endl; |
170 os << begl << "AVRational *supported_framerates: " | 169 os << begl |
171 << value->supported_framerates; | 170 << "AVRational *supported_framerates: " << value->supported_framerates; |
172 os << begl << "const int *supported_samplerates: " | 171 os << begl |
173 << value->supported_samplerates; | 172 << "const int *supported_samplerates: " << value->supported_samplerates; |
174 os << begl << "const AVSampleFormat *sample_fmts: " << value->sample_fmts; | 173 os << begl << "const AVSampleFormat *sample_fmts: " << value->sample_fmts; |
175 os << begl << "const uint64_t *channel_layouts: " << value->channel_layouts; | 174 os << begl << "const uint64_t *channel_layouts: " << value->channel_layouts; |
176 | 175 |
177 return os << outdent; | 176 return os << outdent; |
178 } | 177 } |
179 | 178 |
180 std::ostream& operator<<(std::ostream& os, const AVCodecContext *value) { | 179 std::ostream& operator<<(std::ostream& os, const AVCodecContext* value) { |
181 if (value == nullptr) { | 180 if (value == nullptr) { |
182 return os << "<nullptr>" << std::endl; | 181 return os << "<nullptr>" << std::endl; |
183 } else { | 182 } else { |
184 os << std::endl; | 183 os << std::endl; |
185 } | 184 } |
186 | 185 |
187 os << indent; | 186 os << indent; |
188 os << begl << "AVMediaType codec_type: " << value->codec_type; | 187 os << begl << "AVMediaType codec_type: " << value->codec_type; |
189 os << begl << "const struct AVCodec *codec: " << value->codec; | 188 os << begl << "const struct AVCodec *codec: " << value->codec; |
190 os << begl << "AVCodecID codec_id: " << value->codec_id; | 189 os << begl << "AVCodecID codec_id: " << value->codec_id; |
191 os << begl << "int bit_rate: " << value->bit_rate << std::endl; | 190 os << begl << "int bit_rate: " << value->bit_rate << std::endl; |
192 os << begl << "int extradata_size: " << value->extradata_size << std::endl; | 191 os << begl << "int extradata_size: " << value->extradata_size << std::endl; |
193 os << begl << "int width: " << value->width << std::endl; | 192 os << begl << "int width: " << value->width << std::endl; |
194 os << begl << "int height: " << value->height << std::endl; | 193 os << begl << "int height: " << value->height << std::endl; |
195 os << begl << "int coded_width: " << value->coded_width << std::endl; | 194 os << begl << "int coded_width: " << value->coded_width << std::endl; |
196 os << begl << "int coded_height: " << value->coded_height << std::endl; | 195 os << begl << "int coded_height: " << value->coded_height << std::endl; |
197 os << begl << "int gop_size: " << value->gop_size << std::endl; | 196 os << begl << "int gop_size: " << value->gop_size << std::endl; |
198 os << begl << "int sample_rate: " << value->sample_rate << std::endl; | 197 os << begl << "int sample_rate: " << value->sample_rate << std::endl; |
199 os << begl << "int channels: " << value->channels << std::endl; | 198 os << begl << "int channels: " << value->channels << std::endl; |
200 os << begl << "AVSampleFormat sample_fmt: " << value->sample_fmt; | 199 os << begl << "AVSampleFormat sample_fmt: " << value->sample_fmt; |
201 os << begl << "int frame_size: " << value->frame_size << std::endl; | 200 os << begl << "int frame_size: " << value->frame_size << std::endl; |
202 os << begl << "int frame_number: " << value->frame_number << std::endl; | 201 os << begl << "int frame_number: " << value->frame_number << std::endl; |
203 os << begl << "int block_align: " << value->block_align << std::endl; | 202 os << begl << "int block_align: " << value->block_align << std::endl; |
204 os << begl << "int cutoff: " << value->cutoff << std::endl; | 203 os << begl << "int cutoff: " << value->cutoff << std::endl; |
205 os << begl << "uint64_t channel_layout: " << value->channel_layout | 204 os << begl << "uint64_t channel_layout: " << value->channel_layout |
206 << std::endl; | 205 << std::endl; |
207 os << begl << "uint64_t request_channel_layout: " | 206 os << begl |
208 << value->request_channel_layout << std::endl; | 207 << "uint64_t request_channel_layout: " << value->request_channel_layout |
209 os << begl << "AVAudioServiceType audio_service_type: " | 208 << std::endl; |
210 << value->audio_service_type << std::endl; | 209 os << begl |
211 os << begl << "AVSampleFormat request_sample_fmt: " | 210 << "AVAudioServiceType audio_service_type: " << value->audio_service_type |
212 << value->request_sample_fmt; | 211 << std::endl; |
213 os << begl << "int profile: " << value->profile << std::endl; | 212 os << begl |
| 213 << "AVSampleFormat request_sample_fmt: " << value->request_sample_fmt; |
| 214 os << begl << "int profile: " << value->profile << std::endl; |
214 return os << outdent; | 215 return os << outdent; |
215 } | 216 } |
216 | 217 |
217 std::ostream& operator<<(std::ostream& os, const AVRational& value) { | 218 std::ostream& operator<<(std::ostream& os, const AVRational& value) { |
218 return os << value.num << "/" << value.den << std::endl; | 219 return os << value.num << "/" << value.den << std::endl; |
219 } | 220 } |
220 | 221 |
221 std::ostream& operator<<(std::ostream& os, const AVStream *value) { | 222 std::ostream& operator<<(std::ostream& os, const AVStream* value) { |
222 if (value == nullptr) { | 223 if (value == nullptr) { |
223 return os << "<nullptr>" << std::endl; | 224 return os << "<nullptr>" << std::endl; |
224 } else { | 225 } else { |
225 os << std::endl; | 226 os << std::endl; |
226 } | 227 } |
227 | 228 |
228 os << indent; | 229 os << indent; |
229 os << begl << "int index: " << value->index << std::endl; | 230 os << begl << "int index: " << value->index << std::endl; |
230 os << begl << "int id: " << value->id << std::endl; | 231 os << begl << "int id: " << value->id << std::endl; |
231 os << begl << "AVCodecContext *codec: " << value->codec; | 232 os << begl << "AVCodecContext *codec: " << value->codec; |
232 os << begl << "AVRational time_base: " << value->time_base; | 233 os << begl << "AVRational time_base: " << value->time_base; |
233 os << begl << "int64_t start_time: " << value->start_time << std::endl; | 234 os << begl << "int64_t start_time: " << value->start_time << std::endl; |
234 os << begl << "int64_t duration: " << value->duration << std::endl; | 235 os << begl << "int64_t duration: " << value->duration << std::endl; |
235 os << begl << "int64_t nb_frames: " << value->nb_frames << std::endl; | 236 os << begl << "int64_t nb_frames: " << value->nb_frames << std::endl; |
236 os << begl << "int disposition: " << AV_DISPOSITIONFlags(value->disposition); | 237 os << begl << "int disposition: " << AV_DISPOSITIONFlags(value->disposition); |
237 os << begl << "AVDiscard discard: " << value->discard; | 238 os << begl << "AVDiscard discard: " << value->discard; |
238 os << begl << "AVRational sample_aspect_ratio: " | 239 os << begl |
239 << value->sample_aspect_ratio; | 240 << "AVRational sample_aspect_ratio: " << value->sample_aspect_ratio; |
240 os << begl << "AVDictionary *metadata: " << value->metadata; | 241 os << begl << "AVDictionary *metadata: " << value->metadata; |
241 os << begl << "AVRational avg_frame_rate: " << value->avg_frame_rate; | 242 os << begl << "AVRational avg_frame_rate: " << value->avg_frame_rate; |
242 os << begl << "AVPacket attached_pic: " << &value->attached_pic; | 243 os << begl << "AVPacket attached_pic: " << &value->attached_pic; |
243 os << begl << "int nb_side_data: " << value->nb_side_data << std::endl; | 244 os << begl << "int nb_side_data: " << value->nb_side_data << std::endl; |
244 os << begl << "AVPacketSideData side_data: " << | 245 os << begl << "AVPacketSideData side_data: " |
245 AVPacketSideDataArray(value->side_data, value->nb_side_data); | 246 << AVPacketSideDataArray(value->side_data, value->nb_side_data); |
246 os << begl << "int event_flags: " << AVSTREAM_EVENTFlags(value->event_flags); | 247 os << begl << "int event_flags: " << AVSTREAM_EVENTFlags(value->event_flags); |
247 return os << outdent; | 248 return os << outdent; |
248 } | 249 } |
249 | 250 |
250 std::ostream& operator<<(std::ostream& os, const AVStreamArray& value) { | 251 std::ostream& operator<<(std::ostream& os, const AVStreamArray& value) { |
251 if (value.items_ == nullptr) { | 252 if (value.items_ == nullptr) { |
252 return os << "<nullptr>" << std::endl; | 253 return os << "<nullptr>" << std::endl; |
253 } else if (value.count_ == 0) { | 254 } else if (value.count_ == 0) { |
254 return os << "<empty>" << std::endl; | 255 return os << "<empty>" << std::endl; |
255 } else { | 256 } else { |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 } | 347 } |
347 if (value.flags_ & AV_DISPOSITION_LYRICS) { | 348 if (value.flags_ & AV_DISPOSITION_LYRICS) { |
348 os << begl << "AV_DISPOSITION_LYRICS 0x0010" << std::endl; | 349 os << begl << "AV_DISPOSITION_LYRICS 0x0010" << std::endl; |
349 } | 350 } |
350 if (value.flags_ & AV_DISPOSITION_KARAOKE) { | 351 if (value.flags_ & AV_DISPOSITION_KARAOKE) { |
351 os << begl << "AV_DISPOSITION_KARAOKE 0x0020" << std::endl; | 352 os << begl << "AV_DISPOSITION_KARAOKE 0x0020" << std::endl; |
352 } | 353 } |
353 return os << outdent; | 354 return os << outdent; |
354 } | 355 } |
355 | 356 |
356 std::ostream& operator<<(std::ostream& os, const AVBufferRef *value) { | 357 std::ostream& operator<<(std::ostream& os, const AVBufferRef* value) { |
357 if (value == nullptr) { | 358 if (value == nullptr) { |
358 return os << "<nullptr>" << std::endl; | 359 return os << "<nullptr>" << std::endl; |
359 } else { | 360 } else { |
360 os << std::endl; | 361 os << std::endl; |
361 } | 362 } |
362 | 363 |
363 os << indent; | 364 os << indent; |
364 os << begl << "AVBuffer *buffer: " | 365 os << begl << "AVBuffer *buffer: " |
365 << (value->buffer == nullptr ? "<nullptr>" : "TODO") << std::endl; | 366 << (value->buffer == nullptr ? "<nullptr>" : "TODO") << std::endl; |
366 os << begl << "uint8_t *data: " | 367 os << begl |
367 << (value->data == nullptr ? "<nullptr>" : "<opaque>") << std::endl; | 368 << "uint8_t *data: " << (value->data == nullptr ? "<nullptr>" : "<opaque>") |
| 369 << std::endl; |
368 os << begl << "int size: " << value->size << std::endl; | 370 os << begl << "int size: " << value->size << std::endl; |
369 return os << outdent; | 371 return os << outdent; |
370 } | 372 } |
371 | 373 |
372 std::ostream& operator<<(std::ostream& os, const AVFrame *value) { | 374 std::ostream& operator<<(std::ostream& os, const AVFrame* value) { |
373 if (value == nullptr) { | 375 if (value == nullptr) { |
374 return os << "<nullptr>" << std::endl; | 376 return os << "<nullptr>" << std::endl; |
375 } else { | 377 } else { |
376 os << std::endl; | 378 os << std::endl; |
377 } | 379 } |
378 | 380 |
379 os << indent; | 381 os << indent; |
380 os << begl << "uint8_t *data[AV_NUM_DATA_POINTERS]: "; | 382 os << begl << "uint8_t *data[AV_NUM_DATA_POINTERS]: "; |
381 { | 383 { |
382 os << indent; | 384 os << indent; |
(...skipping 26 matching lines...) Expand all Loading... |
409 os << begl << "[" << i << "]: " << value->linesize[i] << std::endl; | 411 os << begl << "[" << i << "]: " << value->linesize[i] << std::endl; |
410 } | 412 } |
411 } | 413 } |
412 if (!any) { | 414 if (!any) { |
413 os << "<all zero>" << std::endl; | 415 os << "<all zero>" << std::endl; |
414 } | 416 } |
415 os << outdent; | 417 os << outdent; |
416 } | 418 } |
417 | 419 |
418 os << begl << "uint8_t **extended_data: " | 420 os << begl << "uint8_t **extended_data: " |
419 << (value->extended_data == nullptr ? "<nullptr>" : "<opaque>") | 421 << (value->extended_data == nullptr ? "<nullptr>" : "<opaque>") |
420 << std::endl; | 422 << std::endl; |
421 os << begl << "int width: " << value->width << std::endl; | 423 os << begl << "int width: " << value->width << std::endl; |
422 os << begl << "int height: " << value->height << std::endl; | 424 os << begl << "int height: " << value->height << std::endl; |
423 os << begl << "int nb_samples: " << value->nb_samples << std::endl; | 425 os << begl << "int nb_samples: " << value->nb_samples << std::endl; |
424 os << begl << "int format: " << value->format << std::endl; | 426 os << begl << "int format: " << value->format << std::endl; |
425 os << begl << "int key_frame: " << value->key_frame << std::endl; | 427 os << begl << "int key_frame: " << value->key_frame << std::endl; |
426 os << begl << "int64_t pts: " << value->pts << std::endl; | 428 os << begl << "int64_t pts: " << value->pts << std::endl; |
427 os << begl << "int64_t pkt_pts: " << value->pkt_pts << std::endl; | 429 os << begl << "int64_t pkt_pts: " << value->pkt_pts << std::endl; |
428 os << begl << "int64_t pkt_dts: " << value->pkt_dts << std::endl; | 430 os << begl << "int64_t pkt_dts: " << value->pkt_dts << std::endl; |
429 os << begl << "int sample_rate: " << value->sample_rate << std::endl; | 431 os << begl << "int sample_rate: " << value->sample_rate << std::endl; |
430 os << begl << "AVBufferRef *buf[AV_NUM_DATA_POINTERS]: "; | 432 os << begl << "AVBufferRef *buf[AV_NUM_DATA_POINTERS]: "; |
(...skipping 12 matching lines...) Expand all Loading... |
443 if (!any) { | 445 if (!any) { |
444 os << "<all nullptr>" << std::endl; | 446 os << "<all nullptr>" << std::endl; |
445 } | 447 } |
446 os << outdent; | 448 os << outdent; |
447 } | 449 } |
448 os << begl << "int channels: " << value->channels << std::endl; | 450 os << begl << "int channels: " << value->channels << std::endl; |
449 os << begl << "int pkt_size: " << value->pkt_size << std::endl; | 451 os << begl << "int pkt_size: " << value->pkt_size << std::endl; |
450 return os << outdent; | 452 return os << outdent; |
451 } | 453 } |
452 | 454 |
453 std::ostream& operator<<(std::ostream& os, const AVPacket *value) { | 455 std::ostream& operator<<(std::ostream& os, const AVPacket* value) { |
454 if (value == nullptr) { | 456 if (value == nullptr) { |
455 return os << "<nullptr>" << std::endl; | 457 return os << "<nullptr>" << std::endl; |
456 } else { | 458 } else { |
457 os << std::endl; | 459 os << std::endl; |
458 } | 460 } |
459 | 461 |
460 os << indent; | 462 os << indent; |
461 os << begl << "AVBufferRef *buf: " << value->buf; | 463 os << begl << "AVBufferRef *buf: " << value->buf; |
462 os << begl << "int64_t pts: " << value->pts << std::endl; | 464 os << begl << "int64_t pts: " << value->pts << std::endl; |
463 os << begl << "int64_t dts: " << value->dts << std::endl; | 465 os << begl << "int64_t dts: " << value->dts << std::endl; |
464 os << begl << "uint8_t *data: " | 466 os << begl |
465 << (value->data == nullptr ? "<nullptr>" : "<opaque>") << std::endl; | 467 << "uint8_t *data: " << (value->data == nullptr ? "<nullptr>" : "<opaque>") |
| 468 << std::endl; |
466 os << begl << "int size: " << value->size << std::endl; | 469 os << begl << "int size: " << value->size << std::endl; |
467 os << begl << "int stream_index: " << value->stream_index << std::endl; | 470 os << begl << "int stream_index: " << value->stream_index << std::endl; |
468 os << begl << "int flags: " << value->flags << std::endl; | 471 os << begl << "int flags: " << value->flags << std::endl; |
469 os << begl << "AVPacketSideData *side_data: " << value->side_data; | 472 os << begl << "AVPacketSideData *side_data: " << value->side_data; |
470 os << begl << "int side_data_elems: " << value->side_data_elems << std::endl; | 473 os << begl << "int side_data_elems: " << value->side_data_elems << std::endl; |
471 os << begl << "int duration: " << value->duration << std::endl; | 474 os << begl << "int duration: " << value->duration << std::endl; |
472 os << begl << "int64_t pos: " << value->pos << std::endl; | 475 os << begl << "int64_t pos: " << value->pos << std::endl; |
473 os << begl << "int64_t convergence_duration: " | 476 os << begl << "int64_t convergence_duration: " << value->convergence_duration |
474 << value->convergence_duration << std::endl; | 477 << std::endl; |
475 return os << outdent; | 478 return os << outdent; |
476 } | 479 } |
477 | 480 |
478 std::ostream& operator<<(std::ostream& os, const AVPacketSideData *value) { | 481 std::ostream& operator<<(std::ostream& os, const AVPacketSideData* value) { |
479 if (value == nullptr) { | 482 if (value == nullptr) { |
480 return os << "<nullptr>" << std::endl; | 483 return os << "<nullptr>" << std::endl; |
481 } else { | 484 } else { |
482 return os << "TODO" << std::endl; | 485 return os << "TODO" << std::endl; |
483 } | 486 } |
484 } | 487 } |
485 | 488 |
486 std::ostream& operator<<(std::ostream& os, const AVPacketSideDataArray& value) { | 489 std::ostream& operator<<(std::ostream& os, const AVPacketSideDataArray& value) { |
487 if (value.items_ == nullptr) { | 490 if (value.items_ == nullptr) { |
488 return os << "<nullptr>" << std::endl; | 491 return os << "<nullptr>" << std::endl; |
489 } else if (value.count_ == 0) { | 492 } else if (value.count_ == 0) { |
490 return os << "<empty>" << std::endl; | 493 return os << "<empty>" << std::endl; |
491 } else { | 494 } else { |
492 os << std::endl; | 495 os << std::endl; |
493 } | 496 } |
494 | 497 |
495 os << indent; | 498 os << indent; |
496 for (unsigned int i = 0; i < value.count_; i++) { | 499 for (unsigned int i = 0; i < value.count_; i++) { |
497 os << begl << "[" << i << "] " << &value.items_[i]; | 500 os << begl << "[" << i << "] " << &value.items_[i]; |
498 } | 501 } |
499 return os << outdent; | 502 return os << outdent; |
500 } | 503 } |
501 | 504 |
502 std::ostream& operator<<(std::ostream& os, const AVProgram *value) { | 505 std::ostream& operator<<(std::ostream& os, const AVProgram* value) { |
503 if (value == nullptr) { | 506 if (value == nullptr) { |
504 return os << "<nullptr>" << std::endl; | 507 return os << "<nullptr>" << std::endl; |
505 } else { | 508 } else { |
506 return os << "TODO" << std::endl; | 509 return os << "TODO" << std::endl; |
507 } | 510 } |
508 } | 511 } |
509 | 512 |
510 std::ostream& operator<<(std::ostream& os, const AVProgramArray& value) { | 513 std::ostream& operator<<(std::ostream& os, const AVProgramArray& value) { |
511 if (value.items_ == nullptr) { | 514 if (value.items_ == nullptr) { |
512 return os << "<nullptr>" << std::endl; | 515 return os << "<nullptr>" << std::endl; |
513 } else if (value.count_ == 0) { | 516 } else if (value.count_ == 0) { |
514 return os << "<empty>" << std::endl; | 517 return os << "<empty>" << std::endl; |
515 } else { | 518 } else { |
516 os << std::endl; | 519 os << std::endl; |
517 } | 520 } |
518 | 521 |
519 os << indent; | 522 os << indent; |
520 for (unsigned int i = 0; i < value.count_; i++) { | 523 for (unsigned int i = 0; i < value.count_; i++) { |
521 os << begl << "[" << i << "]" << value.items_[i]; | 524 os << begl << "[" << i << "]" << value.items_[i]; |
522 } | 525 } |
523 return os << outdent; | 526 return os << outdent; |
524 } | 527 } |
525 | 528 |
526 std::ostream& operator<<(std::ostream& os, const AVChapter *value) { | 529 std::ostream& operator<<(std::ostream& os, const AVChapter* value) { |
527 if (value == nullptr) { | 530 if (value == nullptr) { |
528 return os << "<nullptr>" << std::endl; | 531 return os << "<nullptr>" << std::endl; |
529 } else { | 532 } else { |
530 return os << "TODO" << std::endl; | 533 return os << "TODO" << std::endl; |
531 } | 534 } |
532 } | 535 } |
533 | 536 |
534 std::ostream& operator<<(std::ostream& os, const AVChapterArray& value) { | 537 std::ostream& operator<<(std::ostream& os, const AVChapterArray& value) { |
535 if (value.items_ == nullptr) { | 538 if (value.items_ == nullptr) { |
536 return os << "<nullptr>" << std::endl; | 539 return os << "<nullptr>" << std::endl; |
537 } else if (value.count_ == 0) { | 540 } else if (value.count_ == 0) { |
538 return os << "<empty>" << std::endl; | 541 return os << "<empty>" << std::endl; |
539 } else { | 542 } else { |
540 os << std::endl; | 543 os << std::endl; |
541 } | 544 } |
542 | 545 |
543 os << indent; | 546 os << indent; |
544 for (unsigned int i = 0; i < value.count_; i++) { | 547 for (unsigned int i = 0; i < value.count_; i++) { |
545 os << begl << "[" << i << "]" << value.items_[i]; | 548 os << begl << "[" << i << "]" << value.items_[i]; |
546 } | 549 } |
547 return os << outdent; | 550 return os << outdent; |
548 } | 551 } |
549 | 552 |
550 std::ostream& operator<<(std::ostream& os, AVCodecID value) { | 553 std::ostream& operator<<(std::ostream& os, AVCodecID value) { |
551 return os << avcodec_get_name(value) << " (" << static_cast<int>(value) << ")" | 554 return os << avcodec_get_name(value) << " (" << static_cast<int>(value) << ")" |
552 << std::endl; | 555 << std::endl; |
553 } | 556 } |
554 | 557 |
555 std::ostream& operator<<(std::ostream& os, const AVDictionary *value) { | 558 std::ostream& operator<<(std::ostream& os, const AVDictionary* value) { |
556 if (value == nullptr) { | 559 if (value == nullptr) { |
557 return os << "<nullptr>" << std::endl; | 560 return os << "<nullptr>" << std::endl; |
558 } | 561 } |
559 AVDictionaryEntry *entry = | 562 AVDictionaryEntry* entry = |
560 av_dict_get(value, "", nullptr, AV_DICT_IGNORE_SUFFIX); | 563 av_dict_get(value, "", nullptr, AV_DICT_IGNORE_SUFFIX); |
561 if (entry == nullptr) { | 564 if (entry == nullptr) { |
562 return os << "<empty>" << std::endl; | 565 return os << "<empty>" << std::endl; |
563 } | 566 } |
564 os << std::endl; | 567 os << std::endl; |
565 | 568 |
566 os << indent; | 569 os << indent; |
567 while (entry != nullptr) { | 570 while (entry != nullptr) { |
568 os << begl << safe(entry->key) << ": " << safe(entry->value) << std::endl; | 571 os << begl << safe(entry->key) << ": " << safe(entry->value) << std::endl; |
569 entry = av_dict_get(value, "", entry, AV_DICT_IGNORE_SUFFIX); | 572 entry = av_dict_get(value, "", entry, AV_DICT_IGNORE_SUFFIX); |
570 } | 573 } |
571 return os << outdent; | 574 return os << outdent; |
572 } | 575 } |
573 | 576 |
574 std::ostream& operator<<(std::ostream& os, AVFMT_EVENTFlags value) { | 577 std::ostream& operator<<(std::ostream& os, AVFMT_EVENTFlags value) { |
575 if (value.flags_ == 0) { | 578 if (value.flags_ == 0) { |
576 os << "<none>" << std::endl; | 579 os << "<none>" << std::endl; |
577 return os; | 580 return os; |
578 } | 581 } |
579 | 582 |
580 if (value.flags_ & AVFMT_EVENT_FLAG_METADATA_UPDATED) { | 583 if (value.flags_ & AVFMT_EVENT_FLAG_METADATA_UPDATED) { |
581 return os << "AVFMT_EVENT_FLAG_METADATA_UPDATED" << std::endl; | 584 return os << "AVFMT_EVENT_FLAG_METADATA_UPDATED" << std::endl; |
582 } else { | 585 } else { |
583 return os << "<UNKNOWN AVFMT_EVENT_FLAG_: " << value.flags_ << ">" | 586 return os << "<UNKNOWN AVFMT_EVENT_FLAG_: " << value.flags_ << ">" |
584 << std::endl; | 587 << std::endl; |
585 } | 588 } |
586 } | 589 } |
587 | 590 |
588 std::ostream& operator<<(std::ostream& os, AVSTREAM_EVENTFlags value) { | 591 std::ostream& operator<<(std::ostream& os, AVSTREAM_EVENTFlags value) { |
589 if (value.flags_ == 0) { | 592 if (value.flags_ == 0) { |
590 os << "<none>" << std::endl; | 593 os << "<none>" << std::endl; |
591 return os; | 594 return os; |
592 } | 595 } |
593 | 596 |
594 if (value.flags_ & AVSTREAM_EVENT_FLAG_METADATA_UPDATED) { | 597 if (value.flags_ & AVSTREAM_EVENT_FLAG_METADATA_UPDATED) { |
595 return os << "AVSTREAM_EVENT_FLAG_METADATA_UPDATED" << std::endl; | 598 return os << "AVSTREAM_EVENT_FLAG_METADATA_UPDATED" << std::endl; |
596 } else { | 599 } else { |
597 return os << "<UNKNOWN AVSTREAM_EVENT_FLAG_: " << value.flags_ << ">" | 600 return os << "<UNKNOWN AVSTREAM_EVENT_FLAG_: " << value.flags_ << ">" |
598 << std::endl; | 601 << std::endl; |
599 } | 602 } |
600 } | 603 } |
601 | 604 |
602 std::ostream& operator<<(std::ostream& os, AVFMT_AVOID_NEG_TSFlags value) { | 605 std::ostream& operator<<(std::ostream& os, AVFMT_AVOID_NEG_TSFlags value) { |
603 switch (value.flags_) { | 606 switch (value.flags_) { |
604 case AVFMT_AVOID_NEG_TS_AUTO: | 607 case AVFMT_AVOID_NEG_TS_AUTO: |
605 return os << "AVFMT_AVOID_NEG_TS_AUTO" << std::endl; | 608 return os << "AVFMT_AVOID_NEG_TS_AUTO" << std::endl; |
606 case AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE: | 609 case AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE: |
607 return os << "AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE" << std::endl; | 610 return os << "AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE" << std::endl; |
608 case AVFMT_AVOID_NEG_TS_MAKE_ZERO: | 611 case AVFMT_AVOID_NEG_TS_MAKE_ZERO: |
609 return os << "AVFMT_AVOID_NEG_TS_MAKE_ZERO" << std::endl; | 612 return os << "AVFMT_AVOID_NEG_TS_MAKE_ZERO" << std::endl; |
610 default: | 613 default: |
611 return os << "<UNKNOWN AVFMT_AVOID_NEG_TS_: " << value.flags_ << ">" | 614 return os << "<UNKNOWN AVFMT_AVOID_NEG_TS_: " << value.flags_ << ">" |
612 << std::endl; | 615 << std::endl; |
613 } | 616 } |
614 } | 617 } |
615 | 618 |
616 std::ostream& operator<<(std::ostream& os, AVMediaType value) { | 619 std::ostream& operator<<(std::ostream& os, AVMediaType value) { |
617 switch (value) { | 620 switch (value) { |
618 case AVMEDIA_TYPE_UNKNOWN: | 621 case AVMEDIA_TYPE_UNKNOWN: |
619 return os << "AVMEDIA_TYPE_UNKNOWN" << std::endl; | 622 return os << "AVMEDIA_TYPE_UNKNOWN" << std::endl; |
620 case AVMEDIA_TYPE_VIDEO: | 623 case AVMEDIA_TYPE_VIDEO: |
621 return os << "AVMEDIA_TYPE_VIDEO" << std::endl; | 624 return os << "AVMEDIA_TYPE_VIDEO" << std::endl; |
622 case AVMEDIA_TYPE_AUDIO: | 625 case AVMEDIA_TYPE_AUDIO: |
623 return os << "AVMEDIA_TYPE_AUDIO" << std::endl; | 626 return os << "AVMEDIA_TYPE_AUDIO" << std::endl; |
624 case AVMEDIA_TYPE_DATA: | 627 case AVMEDIA_TYPE_DATA: |
625 return os << "AVMEDIA_TYPE_DATA" << std::endl; | 628 return os << "AVMEDIA_TYPE_DATA" << std::endl; |
626 case AVMEDIA_TYPE_SUBTITLE: | 629 case AVMEDIA_TYPE_SUBTITLE: |
627 return os << "AVMEDIA_TYPE_SUBTITLE" << std::endl; | 630 return os << "AVMEDIA_TYPE_SUBTITLE" << std::endl; |
628 case AVMEDIA_TYPE_ATTACHMENT: | 631 case AVMEDIA_TYPE_ATTACHMENT: |
629 return os << "AVMEDIA_TYPE_ATTACHMENT" << std::endl; | 632 return os << "AVMEDIA_TYPE_ATTACHMENT" << std::endl; |
630 case AVMEDIA_TYPE_NB: | 633 case AVMEDIA_TYPE_NB: |
631 return os << "AVMEDIA_TYPE_NB" << std::endl; | 634 return os << "AVMEDIA_TYPE_NB" << std::endl; |
632 default: | 635 default: |
633 return os << "<UNKNOWN AVMediaType: " << static_cast<int>(value) << ">" | 636 return os << "<UNKNOWN AVMediaType: " << static_cast<int>(value) << ">" |
634 << std::endl; | 637 << std::endl; |
635 } | 638 } |
636 } | 639 } |
637 | 640 |
638 std::ostream& operator<<(std::ostream& os, AVSampleFormat value) { | 641 std::ostream& operator<<(std::ostream& os, AVSampleFormat value) { |
639 switch (value) { | 642 switch (value) { |
640 case AV_SAMPLE_FMT_NONE: | 643 case AV_SAMPLE_FMT_NONE: |
641 return os << "AV_SAMPLE_FMT_NONE" << std::endl; | 644 return os << "AV_SAMPLE_FMT_NONE" << std::endl; |
642 case AV_SAMPLE_FMT_U8: | 645 case AV_SAMPLE_FMT_U8: |
643 return os << "AV_SAMPLE_FMT_U8" << std::endl; | 646 return os << "AV_SAMPLE_FMT_U8" << std::endl; |
644 case AV_SAMPLE_FMT_S16: | 647 case AV_SAMPLE_FMT_S16: |
(...skipping 11 matching lines...) Expand all Loading... |
656 case AV_SAMPLE_FMT_S32P: | 659 case AV_SAMPLE_FMT_S32P: |
657 return os << "AV_SAMPLE_FMT_S32P" << std::endl; | 660 return os << "AV_SAMPLE_FMT_S32P" << std::endl; |
658 case AV_SAMPLE_FMT_FLTP: | 661 case AV_SAMPLE_FMT_FLTP: |
659 return os << "AV_SAMPLE_FMT_FLTP" << std::endl; | 662 return os << "AV_SAMPLE_FMT_FLTP" << std::endl; |
660 case AV_SAMPLE_FMT_DBLP: | 663 case AV_SAMPLE_FMT_DBLP: |
661 return os << "AV_SAMPLE_FMT_DBLP" << std::endl; | 664 return os << "AV_SAMPLE_FMT_DBLP" << std::endl; |
662 case AV_SAMPLE_FMT_NB: | 665 case AV_SAMPLE_FMT_NB: |
663 return os << "AV_SAMPLE_FMT_NB" << std::endl; | 666 return os << "AV_SAMPLE_FMT_NB" << std::endl; |
664 default: | 667 default: |
665 return os << "<UNKNOWN AVSampleFormat: " << static_cast<int>(value) << ">" | 668 return os << "<UNKNOWN AVSampleFormat: " << static_cast<int>(value) << ">" |
666 << std::endl; | 669 << std::endl; |
667 } | 670 } |
668 } | 671 } |
669 | 672 |
670 std::ostream& operator<<(std::ostream& os, AVColorSpace value) { | 673 std::ostream& operator<<(std::ostream& os, AVColorSpace value) { |
671 switch (value) { | 674 switch (value) { |
672 case AVCOL_SPC_RGB: | 675 case AVCOL_SPC_RGB: |
673 return os << "AVCOL_SPC_RGB" << std::endl; | 676 return os << "AVCOL_SPC_RGB" << std::endl; |
674 case AVCOL_SPC_BT709: | 677 case AVCOL_SPC_BT709: |
675 return os << "AVCOL_SPC_BT709" << std::endl; | 678 return os << "AVCOL_SPC_BT709" << std::endl; |
676 case AVCOL_SPC_UNSPECIFIED: | 679 case AVCOL_SPC_UNSPECIFIED: |
(...skipping 11 matching lines...) Expand all Loading... |
688 case AVCOL_SPC_YCOCG: | 691 case AVCOL_SPC_YCOCG: |
689 return os << "AVCOL_SPC_YCOCG" << std::endl; | 692 return os << "AVCOL_SPC_YCOCG" << std::endl; |
690 case AVCOL_SPC_BT2020_NCL: | 693 case AVCOL_SPC_BT2020_NCL: |
691 return os << "AVCOL_SPC_BT2020_NCL" << std::endl; | 694 return os << "AVCOL_SPC_BT2020_NCL" << std::endl; |
692 case AVCOL_SPC_BT2020_CL: | 695 case AVCOL_SPC_BT2020_CL: |
693 return os << "AVCOL_SPC_BT2020_CL" << std::endl; | 696 return os << "AVCOL_SPC_BT2020_CL" << std::endl; |
694 case AVCOL_SPC_NB: | 697 case AVCOL_SPC_NB: |
695 return os << "AVCOL_SPC_NB" << std::endl; | 698 return os << "AVCOL_SPC_NB" << std::endl; |
696 default: | 699 default: |
697 return os << "<UNKNOWN AVColorSpace: " << static_cast<int>(value) << ">" | 700 return os << "<UNKNOWN AVColorSpace: " << static_cast<int>(value) << ">" |
698 << std::endl; | 701 << std::endl; |
699 } | 702 } |
700 } | 703 } |
701 | 704 |
702 std::ostream& operator<<(std::ostream& os, enum AVDiscard value) { | 705 std::ostream& operator<<(std::ostream& os, enum AVDiscard value) { |
703 switch (value) { | 706 switch (value) { |
704 case AVDISCARD_NONE: | 707 case AVDISCARD_NONE: |
705 return os << "AVDISCARD_NONE" << std::endl; | 708 return os << "AVDISCARD_NONE" << std::endl; |
706 case AVDISCARD_DEFAULT: | 709 case AVDISCARD_DEFAULT: |
707 return os << "AVDISCARD_DEFAULT" << std::endl; | 710 return os << "AVDISCARD_DEFAULT" << std::endl; |
708 case AVDISCARD_NONREF: | 711 case AVDISCARD_NONREF: |
709 return os << "AVDISCARD_NONREF" << std::endl; | 712 return os << "AVDISCARD_NONREF" << std::endl; |
710 case AVDISCARD_BIDIR: | 713 case AVDISCARD_BIDIR: |
711 return os << "AVDISCARD_BIDIR" << std::endl; | 714 return os << "AVDISCARD_BIDIR" << std::endl; |
712 case AVDISCARD_NONINTRA: | 715 case AVDISCARD_NONINTRA: |
713 return os << "AVDISCARD_NONINTRA" << std::endl; | 716 return os << "AVDISCARD_NONINTRA" << std::endl; |
714 case AVDISCARD_NONKEY: | 717 case AVDISCARD_NONKEY: |
715 return os << "AVDISCARD_NONKEY" << std::endl; | 718 return os << "AVDISCARD_NONKEY" << std::endl; |
716 case AVDISCARD_ALL: | 719 case AVDISCARD_ALL: |
717 return os << "AVDISCARD_ALL" << std::endl; | 720 return os << "AVDISCARD_ALL" << std::endl; |
718 default: | 721 default: |
719 return os << "<UNKNOWN AVDISCARD_: " << static_cast<int>(value) << ">" | 722 return os << "<UNKNOWN AVDISCARD_: " << static_cast<int>(value) << ">" |
720 << std::endl; | 723 << std::endl; |
721 } | 724 } |
722 } | 725 } |
723 | 726 |
724 std::ostream& operator<<(std::ostream& os, AVDurationEstimationMethod value) { | 727 std::ostream& operator<<(std::ostream& os, AVDurationEstimationMethod value) { |
725 switch (value) { | 728 switch (value) { |
726 case AVFMT_DURATION_FROM_PTS: | 729 case AVFMT_DURATION_FROM_PTS: |
727 return os << "AVFMT_DURATION_FROM_PTS" << std::endl; | 730 return os << "AVFMT_DURATION_FROM_PTS" << std::endl; |
728 case AVFMT_DURATION_FROM_STREAM: | 731 case AVFMT_DURATION_FROM_STREAM: |
729 return os << "AVFMT_DURATION_FROM_STREAM" << std::endl; | 732 return os << "AVFMT_DURATION_FROM_STREAM" << std::endl; |
730 case AVFMT_DURATION_FROM_BITRATE: | 733 case AVFMT_DURATION_FROM_BITRATE: |
731 return os << "AVFMT_DURATION_FROM_BITRATE" << std::endl; | 734 return os << "AVFMT_DURATION_FROM_BITRATE" << std::endl; |
732 default: | 735 default: |
733 return os << "<UNKNOWN AVDurationEstimationMethod: " | 736 return os << "<UNKNOWN AVDurationEstimationMethod: " |
734 << static_cast<int>(value) << ">" << std::endl; | 737 << static_cast<int>(value) << ">" << std::endl; |
735 } | 738 } |
736 } | 739 } |
737 | 740 |
738 std::ostream& operator<<(std::ostream& os, const AVFormatContext *value) { | 741 std::ostream& operator<<(std::ostream& os, const AVFormatContext* value) { |
739 if (value == nullptr) { | 742 if (value == nullptr) { |
740 return os << "<nullptr>" << std::endl; | 743 return os << "<nullptr>" << std::endl; |
741 } else { | 744 } else { |
742 os << std::endl; | 745 os << std::endl; |
743 } | 746 } |
744 | 747 |
745 os << indent; | 748 os << indent; |
746 os << begl << "AVInputFormat *iformat: " << value->iformat; | 749 os << begl << "AVInputFormat *iformat: " << value->iformat; |
747 os << begl << "AVOutputFormat *oformat: " << value->oformat; | 750 os << begl << "AVOutputFormat *oformat: " << value->oformat; |
748 os << begl << "AVIOContext *pb: " << value->pb; | 751 os << begl << "AVIOContext *pb: " << value->pb; |
749 os << begl << "int ctx_flags: " << AVFMTCTXFlags(value->ctx_flags); | 752 os << begl << "int ctx_flags: " << AVFMTCTXFlags(value->ctx_flags); |
750 os << begl << "unsigned int nb_streams: " << value->nb_streams << std::endl; | 753 os << begl << "unsigned int nb_streams: " << value->nb_streams << std::endl; |
751 os << begl << "AVStream **streams: " | 754 os << begl << "AVStream **streams: " << AVStreamArray(value->streams, |
752 << AVStreamArray(value->streams, value->nb_streams); | 755 value->nb_streams); |
753 os << begl << "char filename[1024]: " << value->filename << std::endl; | 756 os << begl << "char filename[1024]: " << value->filename << std::endl; |
754 os << begl << "int64_t start_time: " << value->start_time << std::endl; | 757 os << begl << "int64_t start_time: " << value->start_time << std::endl; |
755 os << begl << "int64_t duration: " << value->duration << std::endl; | 758 os << begl << "int64_t duration: " << value->duration << std::endl; |
756 os << begl << "int64_t bit_rate: " << value->bit_rate << std::endl; | 759 os << begl << "int64_t bit_rate: " << value->bit_rate << std::endl; |
757 os << begl << "unsigned int packet_size: " << value->packet_size << std::endl; | 760 os << begl << "unsigned int packet_size: " << value->packet_size << std::endl; |
758 os << begl << "int max_delay: " << value->max_delay << std::endl; | 761 os << begl << "int max_delay: " << value->max_delay << std::endl; |
759 os << begl << "int flags: " << AVFMTFlags(value->flags); | 762 os << begl << "int flags: " << AVFMTFlags(value->flags); |
760 os << begl << "int64_t probesize: " << value->probesize << std::endl; | 763 os << begl << "int64_t probesize: " << value->probesize << std::endl; |
761 os << begl << "unsigned int nb_programs: " << value->nb_programs << std::endl; | 764 os << begl << "unsigned int nb_programs: " << value->nb_programs << std::endl; |
762 os << begl << "AVProgram **programs: " | 765 os << begl << "AVProgram **programs: " << AVProgramArray(value->programs, |
763 << AVProgramArray(value->programs, value->nb_programs); | 766 value->nb_programs); |
764 os << begl << "AVCodecID video_codec_id: " << value->video_codec_id; | 767 os << begl << "AVCodecID video_codec_id: " << value->video_codec_id; |
765 os << begl << "AVCodecID audio_codec_id: " << value->audio_codec_id; | 768 os << begl << "AVCodecID audio_codec_id: " << value->audio_codec_id; |
766 os << begl << "AVCodecID subtitle_codec_id: " << value->subtitle_codec_id; | 769 os << begl << "AVCodecID subtitle_codec_id: " << value->subtitle_codec_id; |
767 os << begl << "unsigned int max_index_size: " | 770 os << begl << "unsigned int max_index_size: " << value->max_index_size |
768 << value->max_index_size << std::endl; | 771 << std::endl; |
769 os << begl << "unsigned int max_picture_buffer: " | 772 os << begl << "unsigned int max_picture_buffer: " << value->max_picture_buffer |
770 << value->max_picture_buffer << std::endl; | 773 << std::endl; |
771 os << begl << "unsigned int nb_chapters: " << value->nb_chapters << std::endl; | 774 os << begl << "unsigned int nb_chapters: " << value->nb_chapters << std::endl; |
772 os << begl << "AVChapter **chapters: " | 775 os << begl << "AVChapter **chapters: " << AVChapterArray(value->chapters, |
773 << AVChapterArray(value->chapters, value->nb_chapters); | 776 value->nb_chapters); |
774 os << begl << "AVDictionary *metadata: " << value->metadata; | 777 os << begl << "AVDictionary *metadata: " << value->metadata; |
775 os << begl << "int64_t start_time_realtime: " << value->start_time_realtime | 778 os << begl << "int64_t start_time_realtime: " << value->start_time_realtime |
776 << std::endl; | 779 << std::endl; |
777 os << begl << "int fps_probe_size: " << value->fps_probe_size << std::endl; | 780 os << begl << "int fps_probe_size: " << value->fps_probe_size << std::endl; |
778 os << begl << "int error_recognition: " | 781 os << begl << "int error_recognition: " << value->error_recognition |
779 << value->error_recognition << std::endl; | 782 << std::endl; |
780 os << begl << "int64_t max_interleave_delta: " | 783 os << begl << "int64_t max_interleave_delta: " << value->max_interleave_delta |
781 << value->max_interleave_delta << std::endl; | 784 << std::endl; |
782 os << begl << "int strict_std_compliance: " | 785 os << begl << "int strict_std_compliance: " << value->strict_std_compliance |
783 << value->strict_std_compliance << std::endl; | 786 << std::endl; |
784 os << begl << "int event_flags: " << AVFMT_EVENTFlags(value->flags); | 787 os << begl << "int event_flags: " << AVFMT_EVENTFlags(value->flags); |
785 os << begl << "int max_ts_probe: " << value->max_ts_probe << std::endl; | 788 os << begl << "int max_ts_probe: " << value->max_ts_probe << std::endl; |
786 os << begl << "int avoid_negative_ts: " | 789 os << begl << "int avoid_negative_ts: " |
787 << AVFMT_AVOID_NEG_TSFlags(value->avoid_negative_ts); | 790 << AVFMT_AVOID_NEG_TSFlags(value->avoid_negative_ts); |
788 os << begl << "int ts_id: " << value->ts_id << std::endl; | 791 os << begl << "int ts_id: " << value->ts_id << std::endl; |
789 os << begl << "int audio_preload: " << value->audio_preload << std::endl; | 792 os << begl << "int audio_preload: " << value->audio_preload << std::endl; |
790 os << begl << "int max_chunk_duration: " | 793 os << begl << "int max_chunk_duration: " << value->max_chunk_duration |
791 << value->max_chunk_duration << std::endl; | 794 << std::endl; |
792 os << begl << "int max_chunk_size: " << value->max_chunk_size << std::endl; | 795 os << begl << "int max_chunk_size: " << value->max_chunk_size << std::endl; |
793 os << begl << "int use_wallclock_as_timestamps: " | 796 os << begl << "int use_wallclock_as_timestamps: " |
794 << value->use_wallclock_as_timestamps << std::endl; | 797 << value->use_wallclock_as_timestamps << std::endl; |
795 os << begl << "int avio_flags: " << value->avio_flags << std::endl; | 798 os << begl << "int avio_flags: " << value->avio_flags << std::endl; |
796 os << begl << "AVDurationEstimationMethod duration_estimation_method: " | 799 os << begl << "AVDurationEstimationMethod duration_estimation_method: " |
797 << value->duration_estimation_method; | 800 << value->duration_estimation_method; |
798 os << begl << "int64_t skip_initial_bytes: " << value->skip_initial_bytes | 801 os << begl << "int64_t skip_initial_bytes: " << value->skip_initial_bytes |
799 << std::endl; | 802 << std::endl; |
800 os << begl << "TODO(dalesat): more" << std::endl; | 803 os << begl << "TODO(dalesat): more" << std::endl; |
801 return os << outdent; | 804 return os << outdent; |
802 } | 805 } |
803 | 806 |
804 } // namespace media | 807 } // namespace media |
805 } // namespace mojo | 808 } // namespace mojo |
OLD | NEW |