misc/winutils/include/libavutil/file.h
author koda
Wed, 24 Oct 2012 14:55:31 +0100
changeset 7813 7ac83d79b897
permissions -rw-r--r--
support video recording on windows with automation and headers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7813
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     1
/*
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     2
 * This file is part of Libav.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     3
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     4
 * Libav is free software; you can redistribute it and/or
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     5
 * modify it under the terms of the GNU Lesser General Public
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     6
 * License as published by the Free Software Foundation; either
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     7
 * version 2.1 of the License, or (at your option) any later version.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     8
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     9
 * Libav is distributed in the hope that it will be useful,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    12
 * Lesser General Public License for more details.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    13
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    14
 * You should have received a copy of the GNU Lesser General Public
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    15
 * License along with Libav; if not, write to the Free Software
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    16
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    17
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    18
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    19
#ifndef AVUTIL_FILE_H
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    20
#define AVUTIL_FILE_H
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    21
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    22
#include <stdint.h>
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    23
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    24
#include "avutil.h"
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    25
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    26
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    27
 * @file
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    28
 * Misc file utilities.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    29
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    30
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    31
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    32
 * Read the file with name filename, and put its content in a newly
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    33
 * allocated buffer or map it with mmap() when available.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    34
 * In case of success set *bufptr to the read or mmapped buffer, and
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    35
 * *size to the size in bytes of the buffer in *bufptr.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    36
 * The returned buffer must be released with av_file_unmap().
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    37
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    38
 * @param log_offset loglevel offset used for logging
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    39
 * @param log_ctx context used for logging
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    40
 * @return a non negative number in case of success, a negative value
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    41
 * corresponding to an AVERROR error code in case of failure
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    42
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    43
int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    44
                int log_offset, void *log_ctx);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    45
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    46
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    47
 * Unmap or free the buffer bufptr created by av_file_map().
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    48
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    49
 * @param size size in bytes of bufptr, must be the same as returned
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    50
 * by av_file_map()
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    51
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    52
void av_file_unmap(uint8_t *bufptr, size_t size);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    53
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    54
#endif /* AVUTIL_FILE_H */