History

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.

Anton Khirnov committed 14 years ago

Commit b263bf61 parent 58f09782 files · +13 −11Browse files

Unified · Split

2 files
  1. avserver.c +12 −10
  2. configure +1 −1
avserver.c+12−10
@@ -26,13 +26,16 @@ · 25 unmodified lines
26#include <string.h>26#include <string.h>
27#include <stdlib.h>27#include <stdlib.h>
28#include "libavformat/avformat.h"28#include "libavformat/avformat.h"
29// FIXME those are internal headers, avserver _really_ shouldn't use them
29#include "libavformat/ffm.h"30#include "libavformat/ffm.h"
30#include "libavformat/network.h"31#include "libavformat/network.h"
31#include "libavformat/os_support.h"32#include "libavformat/os_support.h"
32#include "libavformat/rtpdec.h"33#include "libavformat/rtpdec.h"
33#include "libavformat/rtsp.h"34#include "libavformat/rtsp.h"
34// XXX for ffio_open_dyn_packet_buffer, to be removed
35#include "libavformat/avio_internal.h"35#include "libavformat/avio_internal.h"
36#include "libavformat/internal.h"
37#include "libavformat/url.h"
38
36#include "libavutil/avstring.h"39#include "libavutil/avstring.h"
37#include "libavutil/lfg.h"40#include "libavutil/lfg.h"
38#include "libavutil/dict.h"41#include "libavutil/dict.h"
@@ -867,7 +870,7 @@ static void close_connection(HTTPContext *c) · 828 unmodified lines
867 }870 }
868 h = c->rtp_handles[i];871 h = c->rtp_handles[i];
869 if (h)872 if (h)
870 url_close(h);873 ffurl_close(h);
871 }874 }
872 875
873 ctx = &c->fmt_ctx;876 ctx = &c->fmt_ctx;
@@ -2248,7 +2251,6 @@ static int http_prepare_data(HTTPContext *c) · 1374 unmodified lines
2248 * Default value from Libav2251 * Default value from Libav
2249 * Try to set it use configuration option2252 * Try to set it use configuration option
2250 */2253 */
2251 c->fmt_ctx.preload = (int)(0.5*AV_TIME_BASE);
2252 c->fmt_ctx.max_delay = (int)(0.7*AV_TIME_BASE);2254 c->fmt_ctx.max_delay = (int)(0.7*AV_TIME_BASE);
2253 2255
2254 if (avformat_write_header(&c->fmt_ctx, NULL) < 0) {2256 if (avformat_write_header(&c->fmt_ctx, NULL) < 0) {
@@ -2367,7 +2369,7 @@ static int http_prepare_data(HTTPContext *c) · 112 unmodified lines
2367 if (c->rtp_protocol == RTSP_LOWER_TRANSPORT_TCP)2369 if (c->rtp_protocol == RTSP_LOWER_TRANSPORT_TCP)
2368 max_packet_size = RTSP_TCP_MAX_PACKET_SIZE;2370 max_packet_size = RTSP_TCP_MAX_PACKET_SIZE;
2369 else2371 else
2370 max_packet_size = url_get_max_packet_size(c->rtp_handles[c->packet_stream_index]);2372 max_packet_size = c->rtp_handles[c->packet_stream_index]->max_packet_size;
2371 ret = ffio_open_dyn_packet_buf(&ctx->pb, max_packet_size);2373 ret = ffio_open_dyn_packet_buf(&ctx->pb, max_packet_size);
2372 } else {2374 } else {
2373 ret = avio_open_dyn_buf(&ctx->pb);2375 ret = avio_open_dyn_buf(&ctx->pb);
@@ -2520,8 +2522,8 @@ static int http_send_data(HTTPContext *c) · 146 unmodified lines
2520 } else {2522 } else {
2521 /* send RTP packet directly in UDP */2523 /* send RTP packet directly in UDP */
2522 c->buffer_ptr += 4;2524 c->buffer_ptr += 4;
2523 url_write(c->rtp_handles[c->packet_stream_index],2525 ffurl_write(c->rtp_handles[c->packet_stream_index],
2524 c->buffer_ptr, len);2526 c->buffer_ptr, len);
2525 c->buffer_ptr += len;2527 c->buffer_ptr += len;
2526 /* here we continue as we can send several packets per 10 ms slot */2528 /* here we continue as we can send several packets per 10 ms slot */
2527 }2529 }
@@ -3404,10 +3406,10 @@ static int rtp_new_av_stream(HTTPContext *c, · 876 unmodified lines
3404 "rtp://%s:%d", ipaddr, ntohs(dest_addr->sin_port));3406 "rtp://%s:%d", ipaddr, ntohs(dest_addr->sin_port));
3405 }3407 }
3406 3408
3407 if (url_open(&h, ctx->filename, AVIO_FLAG_WRITE) < 0)3409 if (ffurl_open(&h, ctx->filename, AVIO_FLAG_WRITE, NULL, NULL) < 0)
3408 goto fail;3410 goto fail;
3409 c->rtp_handles[stream_index] = h;3411 c->rtp_handles[stream_index] = h;
3410 max_packet_size = url_get_max_packet_size(h);3412 max_packet_size = h->max_packet_size;
3411 break;3413 break;
3412 case RTSP_LOWER_TRANSPORT_TCP:3414 case RTSP_LOWER_TRANSPORT_TCP:
3413 /* RTP/TCP case */3415 /* RTP/TCP case */
@@ -3430,7 +3432,7 @@ static int rtp_new_av_stream(HTTPContext *c, · 16 unmodified lines
3430 if (avformat_write_header(ctx, NULL) < 0) {3432 if (avformat_write_header(ctx, NULL) < 0) {
3431 fail:3433 fail:
3432 if (h)3434 if (h)
3433 url_close(h);3435 ffurl_close(h);
3434 av_free(ctx);3436 av_free(ctx);
3435 return -1;3437 return -1;
3436 }3438 }
@@ -3467,7 +3469,7 @@ static AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec, int cop · 30 unmodified lines
3467 }3469 }
3468 fst->priv_data = av_mallocz(sizeof(FeedData));3470 fst->priv_data = av_mallocz(sizeof(FeedData));
3469 fst->index = stream->nb_streams;3471 fst->index = stream->nb_streams;
3470 av_set_pts_info(fst, 33, 1, 90000);3472 avpriv_set_pts_info(fst, 33, 1, 90000);
3471 fst->sample_aspect_ratio = codec->sample_aspect_ratio;3473 fst->sample_aspect_ratio = codec->sample_aspect_ratio;
3472 stream->streams[stream->nb_streams++] = fst;3474 stream->streams[stream->nb_streams++] = fst;
3473 return fst;3475 return fst;
configure+1−1
@@ -1534,7 +1534,7 @@ avconv_deps="avcodec avformat swscale" · 1533 unmodified lines
1534avplay_deps="avcodec avformat swscale sdl"1534avplay_deps="avcodec avformat swscale sdl"
1535avplay_select="rdft"1535avplay_select="rdft"
1536avprobe_deps="avcodec avformat"1536avprobe_deps="avcodec avformat"
1537avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"1537avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer !shared"
1538avserver_extralibs='$ldl'1538avserver_extralibs='$ldl'
1539ffmpeg_deps="avcodec avformat swscale"1539ffmpeg_deps="avcodec avformat swscale"
1540 1540

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t