Mercurial > mplayer.hg
comparison fmt-conversion.c @ 36172:7bf03a973142
Do not pass random unsupported data to encoder.
author | reimar |
---|---|
date | Mon, 13 May 2013 19:34:44 +0000 |
parents | 4e3c56728d1e |
children | d649e84ea8d5 |
comparison
equal
deleted
inserted
replaced
36171:94979f661d38 | 36172:7bf03a973142 |
---|---|
178 } samplefmt_conversion_map[] = { | 178 } samplefmt_conversion_map[] = { |
179 {AF_FORMAT_U8, AV_SAMPLE_FMT_U8}, | 179 {AF_FORMAT_U8, AV_SAMPLE_FMT_U8}, |
180 {AF_FORMAT_S16_NE, AV_SAMPLE_FMT_S16}, | 180 {AF_FORMAT_S16_NE, AV_SAMPLE_FMT_S16}, |
181 {AF_FORMAT_S32_NE, AV_SAMPLE_FMT_S32}, | 181 {AF_FORMAT_S32_NE, AV_SAMPLE_FMT_S32}, |
182 {AF_FORMAT_FLOAT_NE, AV_SAMPLE_FMT_FLT}, | 182 {AF_FORMAT_FLOAT_NE, AV_SAMPLE_FMT_FLT}, |
183 {0, AV_SAMPLE_FMT_NONE} | 183 {AF_FORMAT_UNKNOWN, AV_SAMPLE_FMT_NONE} |
184 }; | 184 }; |
185 | 185 |
186 enum AVSampleFormat affmt2samplefmt(int fmt) | 186 enum AVSampleFormat affmt2samplefmt(int fmt) |
187 { | 187 { |
188 char str[50]; | 188 char str[50]; |
204 int fmt; | 204 int fmt; |
205 for (i = 0; samplefmt_conversion_map[i].sample_fmt != AV_SAMPLE_FMT_NONE; i++) | 205 for (i = 0; samplefmt_conversion_map[i].sample_fmt != AV_SAMPLE_FMT_NONE; i++) |
206 if (samplefmt_conversion_map[i].sample_fmt == sample_fmt) | 206 if (samplefmt_conversion_map[i].sample_fmt == sample_fmt) |
207 break; | 207 break; |
208 fmt = samplefmt_conversion_map[i].fmt; | 208 fmt = samplefmt_conversion_map[i].fmt; |
209 if (!fmt) | 209 if (fmt == AF_FORMAT_UNKNOWN) |
210 mp_msg(MSGT_GLOBAL, MSGL_ERR, "Unsupported AVSampleFormat %i\n", sample_fmt); | 210 mp_msg(MSGT_GLOBAL, MSGL_ERR, "Unsupported AVSampleFormat %i\n", sample_fmt); |
211 return fmt; | 211 return fmt; |
212 } | 212 } |