avformat: use const char* instead of uint8_t* for AVProbeData.mime_type
This makes the field consistent with AVInputFormat.mime_type and the argument type of av_match_name. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
parent
2d91abade2
commit
b15b06ebf5
@ -396,7 +396,7 @@ typedef struct AVProbeData {
|
||||
const char *filename;
|
||||
unsigned char *buf; /**< Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero. */
|
||||
int buf_size; /**< Size of buf except extra allocated bytes */
|
||||
uint8_t *mime_type; /**< mime_type, when known. */
|
||||
const char *mime_type; /**< mime_type, when known. */
|
||||
} AVProbeData;
|
||||
|
||||
#define AVPROBE_SCORE_EXTENSION 50 ///< score for file extension
|
||||
|
@ -242,6 +242,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
|
||||
AVProbeData pd = { filename ? filename : "" };
|
||||
uint8_t *buf = NULL;
|
||||
int ret = 0, probe_size;
|
||||
uint8_t *mime_type_opt = NULL;
|
||||
|
||||
if (!max_probe_size)
|
||||
max_probe_size = PROBE_BUF_MAX;
|
||||
@ -254,8 +255,11 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
|
||||
return AVERROR(EINVAL);
|
||||
avio_skip(pb, offset);
|
||||
max_probe_size -= offset;
|
||||
if (pb->av_class)
|
||||
av_opt_get(pb, "mime_type", AV_OPT_SEARCH_CHILDREN, &pd.mime_type);
|
||||
if (pb->av_class) {
|
||||
av_opt_get(pb, "mime_type", AV_OPT_SEARCH_CHILDREN, &mime_type_opt);
|
||||
pd.mime_type = (const char *)mime_type_opt;
|
||||
mime_type_opt = NULL;
|
||||
}
|
||||
for (probe_size = PROBE_BUF_MIN; probe_size <= max_probe_size && !*fmt;
|
||||
probe_size = FFMIN(probe_size << 1,
|
||||
FFMAX(max_probe_size, probe_size + 1))) {
|
||||
@ -301,6 +305,6 @@ fail:
|
||||
(ret = ffio_rewind_with_probe_data(pb, buf, pd.buf_size)) < 0) {
|
||||
av_free(buf);
|
||||
}
|
||||
av_free(pd.mime_type);
|
||||
av_freep(&pd.mime_type);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user