Browse code

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