aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sabatini2012-09-24 18:18:56 +0200
committerStefano Sabatini2012-09-25 09:20:57 +0200
commit4b370d6126ab74c6112e2c1edfad3f48ebcf08ad (patch)
treed20bc3b8202bac656d6323d27540e82e5a2d9d3d
parent4390f8c28daab9ac9f2c7b9164bdb79b3689d484 (diff)
ffprobe: rework checking logic in writer_print_time() and writer_print_rational()
Make writer_print_time() and writer_print_rational() always call writer_print_int() or writer_print_string(). This way the checks for determining if the value should be printed or not are consistently performed in the low level functions. writer_print_rational() is moved downward in order to avoid a forward reference. Simplify/amend the overall logic.
-rw-r--r--ffprobe.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/ffprobe.c b/ffprobe.c
index 367b3cab8c..bc60ca09c5 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -328,16 +328,6 @@ static inline void writer_print_integer(WriterContext *wctx,
}
}
-static inline void writer_print_rational(WriterContext *wctx,
- const char *key, AVRational q, char sep)
-{
- AVBPrint buf;
- av_bprint_init(&buf, 0, AV_BPRINT_SIZE_AUTOMATIC);
- av_bprintf(&buf, "%d%c%d", q.num, sep, q.den);
- wctx->writer->print_string(wctx, key, buf.str);
- wctx->nb_item++;
-}
-
static inline void writer_print_string(WriterContext *wctx,
const char *key, const char *val, int opt)
{
@@ -349,12 +339,20 @@ static inline void writer_print_string(WriterContext *wctx,
}
}
+static inline void writer_print_rational(WriterContext *wctx,
+ const char *key, AVRational q, char sep)
+{
+ AVBPrint buf;
+ av_bprint_init(&buf, 0, AV_BPRINT_SIZE_AUTOMATIC);
+ av_bprintf(&buf, "%d%c%d", q.num, sep, q.den);
+ writer_print_string(wctx, key, buf.str, 0);
+}
+
static void writer_print_time(WriterContext *wctx, const char *key,
int64_t ts, const AVRational *time_base, int is_duration)
{
char buf[128];
- if (!wctx->is_fmt_chapter || !fmt_entries_to_show || av_dict_get(fmt_entries_to_show, key, NULL, 0)) {
if ((!is_duration && ts == AV_NOPTS_VALUE) || (is_duration && ts == 0)) {
writer_print_string(wctx, key, "N/A", 1);
} else {
@@ -365,7 +363,6 @@ static void writer_print_time(WriterContext *wctx, const char *key,
value_string(buf, sizeof(buf), uv);
writer_print_string(wctx, key, buf, 0);
}
- }
}
static void writer_print_ts(WriterContext *wctx, const char *key, int64_t ts, int is_duration)