mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405'
* commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405': hlsenc: check append_entry return value hlsenc: use the basename to generate the list entries avstring: add av_basename and av_dirname Conflicts: Changelog doc/APIchanges libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
2ce43b37fc
|
@ -50,6 +50,7 @@ version <next>:
|
|||
- documentation split into per-component manuals
|
||||
- pp (postproc) filter ported from MPlayer
|
||||
- NIST Sphere demuxer
|
||||
- av_basename and av_dirname
|
||||
|
||||
|
||||
version 1.0:
|
||||
|
|
|
@ -132,6 +132,9 @@ API changes, most recent first:
|
|||
2012-03-26 - a67d9cf - lavfi 2.66.100
|
||||
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
|
||||
|
||||
2012-xx-xx - xxxxxxx - lavu 52.2.1 - avstring.h
|
||||
Add av_basename() and av_dirname().
|
||||
|
||||
2012-11-10 - 5980f5dd - lavu 52.2.0 - audioconvert.h
|
||||
Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.
|
||||
|
||||
|
|
|
@ -85,7 +85,8 @@ static int append_entry(HLSContext *hls, uint64_t duration)
|
|||
if (!en)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
av_get_frame_filename(en->name, sizeof(en->name), hls->basename,
|
||||
av_get_frame_filename(en->name, sizeof(en->name),
|
||||
av_basename(hls->basename),
|
||||
hls->number -1);
|
||||
|
||||
en->duration = duration;
|
||||
|
@ -260,9 +261,12 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
av_compare_ts(pkt->pts, st->time_base, end_pts, AV_TIME_BASE_Q) >= 0 &&
|
||||
pkt->flags & AV_PKT_FLAG_KEY) {
|
||||
|
||||
append_entry(hls, av_rescale(pkt->pts - hls->end_pts,
|
||||
st->time_base.num,
|
||||
st->time_base.den));
|
||||
ret = append_entry(hls, av_rescale(pkt->pts - hls->end_pts,
|
||||
st->time_base.num,
|
||||
st->time_base.den));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
hls->end_pts = pkt->pts;
|
||||
|
||||
av_write_frame(oc, NULL); /* Flush any buffered data */
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include "avstring.h"
|
||||
#include "config.h"
|
||||
#include "common.h"
|
||||
#include "mem.h"
|
||||
|
||||
int av_strstart(const char *str, const char *pfx, const char **ptr)
|
||||
|
@ -211,6 +213,45 @@ int av_strncasecmp(const char *a, const char *b, size_t n)
|
|||
return c1 - c2;
|
||||
}
|
||||
|
||||
const char *av_basename(const char *path)
|
||||
{
|
||||
char *p = strrchr(path, '/');
|
||||
|
||||
#if HAVE_DOS_PATHS
|
||||
char *q = strrchr(path, '\\');
|
||||
char *d = strchr(path, ':');
|
||||
|
||||
p = FFMAX3(p, q, d);
|
||||
#endif
|
||||
|
||||
if (!p)
|
||||
return path;
|
||||
|
||||
return p + 1;
|
||||
}
|
||||
|
||||
const char *av_dirname(char *path)
|
||||
{
|
||||
char *p = strrchr(path, '/');
|
||||
|
||||
#if HAVE_DOS_PATHS
|
||||
char *q = strrchr(path, '\\');
|
||||
char *d = strchr(path, ':');
|
||||
|
||||
d = d ? d + 1 : d;
|
||||
|
||||
p = FFMAX3(p, q, d);
|
||||
#endif
|
||||
|
||||
if (!p)
|
||||
return ".";
|
||||
|
||||
*p = '\0';
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
|
||||
#ifdef TEST
|
||||
|
||||
#include "common.h"
|
||||
|
|
|
@ -202,6 +202,22 @@ int av_strcasecmp(const char *a, const char *b);
|
|||
*/
|
||||
int av_strncasecmp(const char *a, const char *b, size_t n);
|
||||
|
||||
|
||||
/**
|
||||
* Thread safe basename.
|
||||
* @param path the path, on DOS both \ and / are considered separators.
|
||||
* @return pointer to the basename substring.
|
||||
*/
|
||||
const char *av_basename(const char *path);
|
||||
|
||||
/**
|
||||
* Thread safe dirname.
|
||||
* @param path the path, on DOS both \ and / are considered separators.
|
||||
* @return the path with the separator replaced by the string terminator or ".".
|
||||
* @note the function may change the input string.
|
||||
*/
|
||||
const char *av_dirname(char *path);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 52
|
||||
#define LIBAVUTIL_VERSION_MINOR 12
|
||||
#define LIBAVUTIL_VERSION_MINOR 13
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
|
Loading…
Reference in New Issue