Browse Source

avio: make av_url_read_fseek/fpause internal.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
tags/n0.8
Anton Khirnov Ronald S. Bultje 15 years ago
parent
commit
933e90a69a
6 changed files with 27 additions and 12 deletions
  1. +2
    -1
      libavformat/asfdec.c
  2. +3
    -4
      libavformat/avio.h
  3. +5
    -0
      libavformat/avio_internal.h
  4. +12
    -3
      libavformat/aviobuf.c
  5. +3
    -2
      libavformat/flvdec.c
  6. +2
    -2
      libavformat/utils.c

+ 2
- 1
libavformat/asfdec.c View File

@@ -25,6 +25,7 @@
#include "libavutil/avstring.h"
#include "libavcodec/mpegaudio.h"
#include "avformat.h"
#include "avio_internal.h"
#include "riff.h"
#include "asf.h"
#include "asfcrypt.h"
@@ -1243,7 +1244,7 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int

/* Try using the protocol's read_seek if available */
if(s->pb) {
int ret = av_url_read_fseek(s->pb, stream_index, pts, flags);
int ret = ffio_read_seek(s->pb, stream_index, pts, flags);
if(ret >= 0)
asf_reset_header(s);
if (ret != AVERROR(ENOSYS))


+ 3
- 4
libavformat/avio.h View File

@@ -415,6 +415,9 @@ attribute_deprecated void put_tag(AVIOContext *s, const char *tag);
* @}
*/

attribute_deprecated int av_url_read_fpause(AVIOContext *h, int pause);
attribute_deprecated int64_t av_url_read_fseek( AVIOContext *h, int stream_index,
int64_t timestamp, int flags);

/**
* @defgroup old_url_f_funcs Old url_f* functions
@@ -513,10 +516,6 @@ static av_always_inline int64_t avio_tell(AVIOContext *s)
*/
int64_t avio_size(AVIOContext *s);

int av_url_read_fpause(AVIOContext *h, int pause);
int64_t av_url_read_fseek(AVIOContext *h, int stream_index,
int64_t timestamp, int flags);

/** @warning currently size is limited */
#ifdef __GNUC__
int avio_printf(AVIOContext *s, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3)));


+ 5
- 0
libavformat/avio_internal.h View File

@@ -66,4 +66,9 @@ uint64_t ffio_read_varlen(AVIOContext *bc);
/** @warning must be called before any I/O */
int ffio_set_buf_size(AVIOContext *s, int buf_size);

int ffio_read_pause(AVIOContext *h, int pause);
int64_t ffio_read_seek( AVIOContext *h, int stream_index,
int64_t timestamp, int flags);


#endif // AVFORMAT_AVIO_INTERNAL_H

+ 12
- 3
libavformat/aviobuf.c View File

@@ -397,6 +397,15 @@ void put_flush_packet(AVIOContext *s)
{
avio_flush(s);
}
int av_url_read_fpause(AVIOContext *s, int pause)
{
return ffio_read_pause(s, pause);
}
int64_t av_url_read_fseek(AVIOContext *s, int stream_index,
int64_t timestamp, int flags)
{
return ffio_read_seek(s, stream_index, timestamp, flags);
}
#endif

int avio_put_str(AVIOContext *s, const char *str)
@@ -971,15 +980,15 @@ int url_fget_max_packet_size(AVIOContext *s)
}
#endif

int av_url_read_fpause(AVIOContext *s, int pause)
int ffio_read_pause(AVIOContext *s, int pause)
{
if (!s->read_pause)
return AVERROR(ENOSYS);
return s->read_pause(s->opaque, pause);
}

int64_t av_url_read_fseek(AVIOContext *s, int stream_index,
int64_t timestamp, int flags)
int64_t ffio_read_seek(AVIOContext *s, int stream_index,
int64_t timestamp, int flags)
{
URLContext *h = s->opaque;
int64_t ret;


+ 3
- 2
libavformat/flvdec.c View File

@@ -28,6 +28,7 @@
#include "libavcodec/bytestream.h"
#include "libavcodec/mpeg4audio.h"
#include "avformat.h"
#include "avio_internal.h"
#include "flv.h"

typedef struct {
@@ -461,7 +462,7 @@ leave:
static int flv_read_seek(AVFormatContext *s, int stream_index,
int64_t ts, int flags)
{
return av_url_read_fseek(s->pb, stream_index, ts, flags);
return ffio_read_seek(s->pb, stream_index, ts, flags);
}

#if 0 /* don't know enough to implement this */
@@ -482,7 +483,7 @@ static int flv_read_seek2(AVFormatContext *s, int stream_index,
ts = av_rescale_rnd(ts, 1000, AV_TIME_BASE,
flags & AVSEEK_FLAG_BACKWARD ? AV_ROUND_DOWN : AV_ROUND_UP);
}
ret = av_url_read_fseek(s->pb, stream_index, ts, flags);
ret = ffio_read_seek(s->pb, stream_index, ts, flags);
}

if (ret == AVERROR(ENOSYS))


+ 2
- 2
libavformat/utils.c View File

@@ -2553,7 +2553,7 @@ int av_read_play(AVFormatContext *s)
if (s->iformat->read_play)
return s->iformat->read_play(s);
if (s->pb)
return av_url_read_fpause(s->pb, 0);
return ffio_read_pause(s->pb, 0);
return AVERROR(ENOSYS);
}

@@ -2562,7 +2562,7 @@ int av_read_pause(AVFormatContext *s)
if (s->iformat->read_pause)
return s->iformat->read_pause(s);
if (s->pb)
return av_url_read_fpause(s->pb, 1);
return ffio_read_pause(s->pb, 1);
return AVERROR(ENOSYS);
}



Loading…
Cancel
Save