On Sun, 17 Jun 2012, Diego Biurrun wrote:

On Sun, Jun 17, 2012 at 05:15:04PM +0300, Martin Storsjö wrote:
On Sun, 17 Jun 2012, Diego Biurrun wrote:
On Sun, Jun 17, 2012 at 05:02:15PM +0300, Martin Storsjö wrote:
On Sun, 17 Jun 2012, Samuel Pitoiset wrote:
On Sun, Jun 17, 2012 at 3:43 PM, Diego Biurrun <di...@biurrun.de> wrote:
On Sat, Jun 16, 2012 at 12:50:36PM +0200, Samuel Pitoiset wrote:
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPT protocol implementation uses rtmphttp:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.
---
- Fix missing proper dependecies in configure

--- a/configure
+++ b/configure
@@ -1511,6 +1511,10 @@ mmsh_protocol_select="http_protocol"
 rtmp_protocol_deps="!librtmp_protocol"
 rtmp_protocol_select="tcp_protocol"
+rtmphttp_protocol_deps="!librtmp_protocol"
+rtmphttp_protocol_select="http_protocol"
+rtmpt_protocol_deps="!librtmp_protocol"
+rtmpt_protocol_select="rtmphttp_protocol"
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -345,6 +345,7 @@ OBJS-$(CONFIG_MMST_PROTOCOL)             += mmst.o mms.o 
asf.o
 OBJS-$(CONFIG_RTMP_PROTOCOL)             += rtmpproto.o rtmppkt.o
+OBJS-$(CONFIG_RTMPHTTP_PROTOCOL)         += rtmphttp.o rtmpproto.o rtmppkt.o
 OBJS-$(CONFIG_RTP_PROTOCOL)              += rtpproto.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 1320a28..69f27ab 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -256,6 +256,8 @@ void av_register_all(void)
     REGISTER_PROTOCOL (RTMP, rtmp);
+    REGISTER_PROTOCOL (RTMPT, rtmpt);
+    REGISTER_PROTOCOL (RTMPHTTP, rtmphttp);
     REGISTER_PROTOCOL (RTP, rtp);

I'm not convinced dependencies are fixed properly; you seem to be missing
at least a Makefile entry for the rtmpt protocol.  Try

 configure --disable-everything --enable-protocol=rtmphttp
 configure --disable-everything --enable-protocol=rtmpt

from a clean tree and see if it compiles properly.

Tested, it compiles properly.

Diego is right here, although you apparently manage to make it link
anyway. The rtmphttp makefile entry is wrong, since it contains both
the rtmphttp part and the rtmpt part.

I think what you need is

configure:
rtmphttp_protocol_deps="!librtmp_protocol"
rtmphttp_protocol_select="http_protocol rtmp_protocol"

No, this one has no dependencies on the rtmp protocol, only on http
- the existing configure lines are ok.

rtmpt_protocol_deps="!librtmp_protocol"
rtmpt_protocol_select="rtmphttp_protocol"

Makefile:
OBJS-$(CONFIG_RTMPHTTP_PROTOCOL)         += rtmphttp.o
OBJS-$(CONFIG_RTMPT_PROTOCOL)            += rtmpproto.o rtmppkt.o

Yes, this would be correct.

Then I believe the correct build system lines are

configure:
 rtmphttp_protocol_deps="!librtmp_protocol"
 rtmphttp_protocol_select="http_protocol"
 rtmpt_protocol_deps="!librtmp_protocol"
 rtmpt_protocol_select="rtmp_protocol rtmphttp_protocol"

No, rtmpt does not depend on rtmp. Both rtmp and rtmpt are two different frontends to the same code, just like https and http, and rtmpt (with your suggestions) have the right object file dependencies in the makefile. There's nothing saying that the rtmp protocol has to be enabled for the rtmpt protocol to work, since one does not use the other, they're on the same hierarchical level.

// Martin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to