aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-06-28 08:45:02 +0200
committerAnton Khirnov <anton@khirnov.net>2015-07-19 09:37:11 +0200
commitbd2ab27c488ae92c7820efe11d4f53d84e94d58e (patch)
treeeef97a58b304750431aef9302e6c6b36a6568872
parent6d5d9246042acb804a652e6fedfb7afe0ca85614 (diff)
downloadandroid_external_ffmpeg-bd2ab27c488ae92c7820efe11d4f53d84e94d58e.tar.gz
android_external_ffmpeg-bd2ab27c488ae92c7820efe11d4f53d84e94d58e.tar.bz2
android_external_ffmpeg-bd2ab27c488ae92c7820efe11d4f53d84e94d58e.zip
avconv: use read_file() for reading the 2pass stats
Also, drop the now unused cmdutils_read_file(). There is no reason to have two functions doing essentially the same thing.
-rw-r--r--avconv_opt.c6
-rw-r--r--cmdutils.c55
-rw-r--r--cmdutils.h12
3 files changed, 3 insertions, 70 deletions
diff --git a/avconv_opt.c b/avconv_opt.c
index 86989d66f6..e231f539d2 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -1196,9 +1196,9 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
}
ost->logfile = f;
} else {
- char *logbuffer;
- size_t logbuffer_size;
- if (cmdutils_read_file(logfilename, &logbuffer, &logbuffer_size) < 0) {
+ char *logbuffer = read_file(logfilename);
+
+ if (!logbuffer) {
av_log(NULL, AV_LOG_FATAL, "Error reading log file '%s' for pass-2 encoding\n",
logfilename);
exit_program(1);
diff --git a/cmdutils.c b/cmdutils.c
index bc22ef5839..e5cba98a60 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -1396,61 +1396,6 @@ int read_yesno(void)
return yesno;
}
-int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
-{
- int ret;
- FILE *f = fopen(filename, "rb");
-
- if (!f) {
- av_log(NULL, AV_LOG_ERROR, "Cannot read file '%s': %s\n", filename,
- strerror(errno));
- return AVERROR(errno);
- }
-
- ret = fseek(f, 0, SEEK_END);
- if (ret == -1) {
- ret = AVERROR(errno);
- goto out;
- }
-
- ret = ftell(f);
- if (ret < 0) {
- ret = AVERROR(errno);
- goto out;
- }
- *size = ret;
-
- ret = fseek(f, 0, SEEK_SET);
- if (ret == -1) {
- ret = AVERROR(errno);
- goto out;
- }
-
- *bufptr = av_malloc(*size + 1);
- if (!*bufptr) {
- av_log(NULL, AV_LOG_ERROR, "Could not allocate file buffer\n");
- ret = AVERROR(ENOMEM);
- goto out;
- }
- ret = fread(*bufptr, 1, *size, f);
- if (ret < *size) {
- av_free(*bufptr);
- if (ferror(f)) {
- av_log(NULL, AV_LOG_ERROR, "Error while reading file '%s': %s\n",
- filename, strerror(errno));
- ret = AVERROR(errno);
- } else
- ret = AVERROR_EOF;
- } else {
- ret = 0;
- (*bufptr)[(*size)++] = '\0';
- }
-
-out:
- fclose(f);
- return ret;
-}
-
void init_pts_correction(PtsCorrectionContext *ctx)
{
ctx->num_faulty_pts = ctx->num_faulty_dts = 0;
diff --git a/cmdutils.h b/cmdutils.h
index d90ad4549d..45d98586fa 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -460,18 +460,6 @@ int show_sample_fmts(void *optctx, const char *opt, const char *arg);
*/
int read_yesno(void);
-/**
- * Read the file with name filename, and put its content in a newly
- * allocated 0-terminated buffer.
- *
- * @param filename file to read from
- * @param bufptr location where pointer to buffer is returned
- * @param size location where size of buffer is returned
- * @return 0 in case of success, a negative value corresponding to an
- * AVERROR error code in case of failure.
- */
-int cmdutils_read_file(const char *filename, char **bufptr, size_t *size);
-
typedef struct PtsCorrectionContext {
int64_t num_faulty_pts; /// Number of incorrect PTS values so far
int64_t num_faulty_dts; /// Number of incorrect DTS values so far