Browse Source

libavfilter: add ff_parse_time_base()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.11
Michael Niedermayer 13 years ago
parent
commit
3448404a70
2 changed files with 22 additions and 0 deletions
  1. +12
    -0
      libavfilter/formats.c
  2. +10
    -0
      libavfilter/internal.h

+ 12
- 0
libavfilter/formats.c View File

@@ -21,6 +21,7 @@

#include "libavutil/eval.h"
#include "libavutil/pixdesc.h"
#include "libavutil/parseutils.h"
#include "libavutil/audioconvert.h"
#include "avfilter.h"
#include "internal.h"
@@ -493,6 +494,17 @@ int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx)
return 0;
}

int ff_parse_time_base(AVRational *ret, const char *arg, void *log_ctx)
{
AVRational r;
if(av_parse_ratio(&r, arg, INT_MAX, 0, log_ctx) < 0 ||r.num<=0 ||r.den<=0) {
av_log(log_ctx, AV_LOG_ERROR, "Invalid time base '%s'\n", arg);
return AVERROR(EINVAL);
}
*ret = r;
return 0;
}

int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx)
{
char *tail;


+ 10
- 0
libavfilter/internal.h View File

@@ -111,6 +111,16 @@ int ff_parse_pixel_format(enum PixelFormat *ret, const char *arg, void *log_ctx)
*/
int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx);

/**
* Parse a time base.
*
* @param ret unsigned AVRational pointer to where the value should be written
* @param arg string to parse
* @param log_ctx log context
* @return 0 in case of success, a negative AVERROR code on error
*/
int ff_parse_time_base(AVRational *ret, const char *arg, void *log_ctx);

/**
* Parse a sample format name or a corresponding integer representation.
*


Loading…
Cancel
Save