diff options
author | James Almer <jamrial@gmail.com> | 2018-10-27 16:50:25 +0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2018-10-27 16:50:25 +0300 |
commit | 8d5a812190ce13b329d3b0f826d78f8aaa503714 (patch) | |
tree | 1bea3e1d4e18ebcc0e42429e3ea0649c9d9991d7 /tools/output | |
parent | 2118bc9fa326ffcfd59080868d95bd7b4bf94889 (diff) |
tools/dav1d: don't call write_header and write_trailer when it's not needed
Diffstat (limited to 'tools/output')
-rw-r--r-- | tools/output/null.c | 12 | ||||
-rw-r--r-- | tools/output/output.c | 5 |
2 files changed, 3 insertions, 14 deletions
diff --git a/tools/output/null.c b/tools/output/null.c index bbc4e41..f8633f3 100644 --- a/tools/output/null.c +++ b/tools/output/null.c @@ -31,26 +31,14 @@ typedef struct MuxerPriv NullOutputContext; -static int null_open(NullOutputContext *const c, const char *const file, - const Dav1dPictureParameters *const p, - const unsigned fps[2]) -{ - return 0; -} - static int null_write(NullOutputContext *const c, Dav1dPicture *const p) { dav1d_picture_unref(p); return 0; } -static void null_close(NullOutputContext *const c) { -} - const Muxer null_muxer = { .priv_data_size = 0, .name = "null", .extension = "null", - .write_header = null_open, .write_picture = null_write, - .write_trailer = null_close, }; diff --git a/tools/output/output.c b/tools/output/output.c index 444a097..1dfa52f 100644 --- a/tools/output/output.c +++ b/tools/output/output.c @@ -118,7 +118,7 @@ int output_open(MuxerContext **const c_out, } c->impl = impl; c->data = (MuxerPriv *) &c[1]; - if ((res = impl->write_header(c->data, filename, p, fps)) < 0) { + if (impl->write_header && (res = impl->write_header(c->data, filename, p, fps)) < 0) { free(c); return res; } @@ -137,6 +137,7 @@ int output_write(MuxerContext *const ctx, Dav1dPicture *const p) { } void output_close(MuxerContext *const ctx) { - ctx->impl->write_trailer(ctx->data); + if (ctx->impl->write_trailer) + ctx->impl->write_trailer(ctx->data); free(ctx); } |