Browse Source

lavfi: handle NULL lists in avfilter_make_format_list

tags/n0.8
Mina Nagy Zaki Stefano Sabatini 14 years ago
parent
commit
47d2ca3205
2 changed files with 11 additions and 7 deletions
  1. +3
    -2
      libavfilter/avfilter.h
  2. +8
    -5
      libavfilter/formats.c

+ 3
- 2
libavfilter/avfilter.h View File

@@ -27,7 +27,7 @@

#define LIBAVFILTER_VERSION_MAJOR 2
#define LIBAVFILTER_VERSION_MINOR 14
#define LIBAVFILTER_VERSION_MICRO 0
#define LIBAVFILTER_VERSION_MICRO 1

#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
@@ -233,7 +233,8 @@ typedef struct AVFilterFormats {
* Create a list of supported formats. This is intended for use in
* AVFilter->query_formats().
*
* @param fmts list of media formats, terminated by -1
* @param fmts list of media formats, terminated by -1. If NULL an
* empty list is created.
* @return the format list, with no existing references
*/
AVFilterFormats *avfilter_make_format_list(const int *fmts);


+ 8
- 5
libavfilter/formats.c View File

@@ -73,15 +73,18 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
AVFilterFormats *avfilter_make_format_list(const int *fmts)
{
AVFilterFormats *formats;
int count;
int count = 0;

for (count = 0; fmts[count] != -1; count++)
;
if (fmts)
for (count = 0; fmts[count] != -1; count++)
;

formats = av_mallocz(sizeof(AVFilterFormats));
formats->formats = av_malloc(sizeof(*formats->formats) * count);
formats->format_count = count;
memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
if (count) {
formats->formats = av_malloc(sizeof(*formats->formats) * count);
memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
}

return formats;
}


Loading…
Cancel
Save