[vlc-devel] commit: Set the DCCP service code(s) from RTP stream output ( Rémi Denis-Courmont )

git version control git at videolan.org
Sun Mar 2 20:24:08 CET 2008


vlc | branch: master | Rémi Denis-Courmont <rem at videolan.org> | Sun Mar  2 21:23:42 2008 +0200| [f3c79cb5205e178823ca1c1aa056e2efa877ac92]

Set the DCCP service code(s) from RTP stream output

Signed-off-by: Rémi Denis-Courmont <rem at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f3c79cb5205e178823ca1c1aa056e2efa877ac92
---

 modules/stream_out/rtp.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c
index eaa57ce..712db8f 100644
--- a/modules/stream_out/rtp.c
+++ b/modules/stream_out/rtp.c
@@ -398,6 +398,7 @@ static int Open( vlc_object_t *p_this )
         msg_Warn (p_this, "unknown or unsupported transport protocol \"%s\"",
                   psz);
     free (psz);
+    var_Create (p_this, "dccp-service", VLC_VAR_STRING);
 
     if( ( p_sys->psz_destination == NULL ) && !b_rtsp )
     {
@@ -775,11 +776,9 @@ char *SDPGenerate( const sout_stream_t *p_stream, const char *rtsp_url )
         {
             if( id->listen_fd != NULL )
                 sdp_AddAttribute( &psz_sdp, "setup", "passive" );
-#if 0
             if( p_sys->proto == IPPROTO_DCCP )
                 sdp_AddAttribute( &psz_sdp, "dccp-service-code", 
                                   "SC:RTP%c", toupper( mime_major[0] ) );
-#endif
         }
     }
 
@@ -898,8 +897,19 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
     if( p_sys->psz_destination != NULL )
         switch( p_sys->proto )
         {
-            case IPPROTO_TCP:
             case IPPROTO_DCCP:
+            {
+                const char *code;
+                switch (id->i_cat)
+                {
+                    case VIDEO_ES: code = "RTPV";     break;
+                    case AUDIO_ES: code = "RTPARTPV"; break;
+                    case SPU_ES:   code = "RTPTRPTV"; break;
+                    default:       code = "RTPORTPV"; break;
+                }
+                var_SetString (p_stream, "dccp-service", code);
+            }   /* fall through */
+            case IPPROTO_TCP:
                 id->listen_fd = net_Listen( VLC_OBJECT(p_stream),
                                             p_sys->psz_destination, i_port,
                                             p_sys->proto );




More information about the vlc-devel mailing list