Commit b263bf66 authored by Anton Khirnov's avatar Anton Khirnov

avserver: fix build after the next bump.

Now that 0.8 is out we can reapply this commit. It breaks shared
avserver builds due to avserver using internal libavformat symbols,
which are now hidden, so this commit also disables avserver with
--enable-shared.
parent 58f09785
...@@ -26,13 +26,16 @@ ...@@ -26,13 +26,16 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include "libavformat/avformat.h" #include "libavformat/avformat.h"
// FIXME those are internal headers, avserver _really_ shouldn't use them
#include "libavformat/ffm.h" #include "libavformat/ffm.h"
#include "libavformat/network.h" #include "libavformat/network.h"
#include "libavformat/os_support.h" #include "libavformat/os_support.h"
#include "libavformat/rtpdec.h" #include "libavformat/rtpdec.h"
#include "libavformat/rtsp.h" #include "libavformat/rtsp.h"
// XXX for ffio_open_dyn_packet_buffer, to be removed
#include "libavformat/avio_internal.h" #include "libavformat/avio_internal.h"
#include "libavformat/internal.h"
#include "libavformat/url.h"
#include "libavutil/avstring.h" #include "libavutil/avstring.h"
#include "libavutil/lfg.h" #include "libavutil/lfg.h"
#include "libavutil/dict.h" #include "libavutil/dict.h"
...@@ -867,7 +870,7 @@ static void close_connection(HTTPContext *c) ...@@ -867,7 +870,7 @@ static void close_connection(HTTPContext *c)
} }
h = c->rtp_handles[i]; h = c->rtp_handles[i];
if (h) if (h)
url_close(h); ffurl_close(h);
} }
ctx = &c->fmt_ctx; ctx = &c->fmt_ctx;
...@@ -2248,7 +2251,6 @@ static int http_prepare_data(HTTPContext *c) ...@@ -2248,7 +2251,6 @@ static int http_prepare_data(HTTPContext *c)
* Default value from Libav * Default value from Libav
* Try to set it use configuration option * Try to set it use configuration option
*/ */
c->fmt_ctx.preload = (int)(0.5*AV_TIME_BASE);
c->fmt_ctx.max_delay = (int)(0.7*AV_TIME_BASE); c->fmt_ctx.max_delay = (int)(0.7*AV_TIME_BASE);
if (avformat_write_header(&c->fmt_ctx, NULL) < 0) { if (avformat_write_header(&c->fmt_ctx, NULL) < 0) {
...@@ -2367,7 +2369,7 @@ static int http_prepare_data(HTTPContext *c) ...@@ -2367,7 +2369,7 @@ static int http_prepare_data(HTTPContext *c)
if (c->rtp_protocol == RTSP_LOWER_TRANSPORT_TCP) if (c->rtp_protocol == RTSP_LOWER_TRANSPORT_TCP)
max_packet_size = RTSP_TCP_MAX_PACKET_SIZE; max_packet_size = RTSP_TCP_MAX_PACKET_SIZE;
else else
max_packet_size = url_get_max_packet_size(c->rtp_handles[c->packet_stream_index]); max_packet_size = c->rtp_handles[c->packet_stream_index]->max_packet_size;
ret = ffio_open_dyn_packet_buf(&ctx->pb, max_packet_size); ret = ffio_open_dyn_packet_buf(&ctx->pb, max_packet_size);
} else { } else {
ret = avio_open_dyn_buf(&ctx->pb); ret = avio_open_dyn_buf(&ctx->pb);
...@@ -2520,8 +2522,8 @@ static int http_send_data(HTTPContext *c) ...@@ -2520,8 +2522,8 @@ static int http_send_data(HTTPContext *c)
} else { } else {
/* send RTP packet directly in UDP */ /* send RTP packet directly in UDP */
c->buffer_ptr += 4; c->buffer_ptr += 4;
url_write(c->rtp_handles[c->packet_stream_index], ffurl_write(c->rtp_handles[c->packet_stream_index],
c->buffer_ptr, len); c->buffer_ptr, len);
c->buffer_ptr += len; c->buffer_ptr += len;
/* here we continue as we can send several packets per 10 ms slot */ /* here we continue as we can send several packets per 10 ms slot */
} }
...@@ -3404,10 +3406,10 @@ static int rtp_new_av_stream(HTTPContext *c, ...@@ -3404,10 +3406,10 @@ static int rtp_new_av_stream(HTTPContext *c,
"rtp://%s:%d", ipaddr, ntohs(dest_addr->sin_port)); "rtp://%s:%d", ipaddr, ntohs(dest_addr->sin_port));
} }
if (url_open(&h, ctx->filename, AVIO_FLAG_WRITE) < 0) if (ffurl_open(&h, ctx->filename, AVIO_FLAG_WRITE, NULL, NULL) < 0)
goto fail; goto fail;
c->rtp_handles[stream_index] = h; c->rtp_handles[stream_index] = h;
max_packet_size = url_get_max_packet_size(h); max_packet_size = h->max_packet_size;
break; break;
case RTSP_LOWER_TRANSPORT_TCP: case RTSP_LOWER_TRANSPORT_TCP:
/* RTP/TCP case */ /* RTP/TCP case */
...@@ -3430,7 +3432,7 @@ static int rtp_new_av_stream(HTTPContext *c, ...@@ -3430,7 +3432,7 @@ static int rtp_new_av_stream(HTTPContext *c,
if (avformat_write_header(ctx, NULL) < 0) { if (avformat_write_header(ctx, NULL) < 0) {
fail: fail:
if (h) if (h)
url_close(h); ffurl_close(h);
av_free(ctx); av_free(ctx);
return -1; return -1;
} }
...@@ -3467,7 +3469,7 @@ static AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec, int cop ...@@ -3467,7 +3469,7 @@ static AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec, int cop
} }
fst->priv_data = av_mallocz(sizeof(FeedData)); fst->priv_data = av_mallocz(sizeof(FeedData));
fst->index = stream->nb_streams; fst->index = stream->nb_streams;
av_set_pts_info(fst, 33, 1, 90000); avpriv_set_pts_info(fst, 33, 1, 90000);
fst->sample_aspect_ratio = codec->sample_aspect_ratio; fst->sample_aspect_ratio = codec->sample_aspect_ratio;
stream->streams[stream->nb_streams++] = fst; stream->streams[stream->nb_streams++] = fst;
return fst; return fst;
......
...@@ -1534,7 +1534,7 @@ avconv_deps="avcodec avformat swscale" ...@@ -1534,7 +1534,7 @@ avconv_deps="avcodec avformat swscale"
avplay_deps="avcodec avformat swscale sdl" avplay_deps="avcodec avformat swscale sdl"
avplay_select="rdft" avplay_select="rdft"
avprobe_deps="avcodec avformat" avprobe_deps="avcodec avformat"
avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer" avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer !shared"
avserver_extralibs='$ldl' avserver_extralibs='$ldl'
ffmpeg_deps="avcodec avformat swscale" ffmpeg_deps="avcodec avformat swscale"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment