[SCM] Mumudvb packaging branch, upstream, updated. 24c2efb080b56abb8e7be67bae30ba7fe457759e

Brice Dubost dubost at poulet.adm.crans.org
Sat Nov 1 13:31:04 UTC 2008


The following commit has been merged in the upstream branch:
commit cbcb9f276cd63e573dbf250dbcbbaf92a2103d1f
Merge: 28ad5412a438c58731484e8823203976b0ffd5ec f388ac36e213a80e39a362c64234ad5725b3f784
Author: Brice Dubost <dubost at poulet.adm.crans.org>
Date:   Sun Sep 21 20:46:26 2008 +0200

    Merge, correcting a typo error

diff --combined src/sap.c
index 23c931b,27add15..2ac4224
--- a/src/sap.c
+++ b/src/sap.c
@@@ -31,13 -31,6 +31,6 @@@
  #include <string.h>
  
  
- //SAP_init : define the version (rand 1,4242), clear the message and open the socket
- int sap_init(mumudvb_sap_message_t *sap_messages, int num_messages)
- {
- 
-   return 0;
- }
- 
  //SAP_send : send the sap message
  void sap_send(mumudvb_sap_message_t *sap_messages, int num_messages)
  {
@@@ -108,71 -101,61 +101,61 @@@ int sap_add_program(mumudvb_channel_t c
    if(!channel.streamed_channel_old)
      return 1;
  
-   //Now we write the sdp part
+   //Now we write the sdp part, in two times to avoid heavy code
  
    //version
    //v=0
  
-   sprintf(temp_string,"v=0\r\n");
-   memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
-   payload_len+=strlen(temp_string);
-   
    //owner/creator and session identifier
    //o=username session_id version network_type address_type address
    //ex : o=mumudvb 123134 1 IN IP4 235.255.215.1
-   //TODO find a way to create session id
    //for version we'll use sap version
    //o=....
  
-   sprintf(temp_string,"o=%s %d %d IN IP4 %s\r\n", sap_organisation, sap_serial, sap_message->version, channel.ipOut);
-   memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
-   payload_len+=strlen(temp_string);
- 
    //session name (basically channel name)
    //s=...
-   sprintf(temp_string,"s=TEST%s\r\n", channel.name); //TODO : remove TEST
-   memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
-   payload_len+=strlen(temp_string);
- 
  
    //connection information
    //Ex : c=IN IP4 235.214.225.1/2
    // the / is the TTL
    //c=...
  
-   sprintf(temp_string,"c=IN IP4 %s/%d\r\n", channel.ipOut, DEFAULT_TTL);
 -  sprintf(temp_string,"v=0\r\no=%s %d %d IN IP4 %s\r\ns=%s\r\no=%s/%d\r\n", 
++  sprintf(temp_string,"v=0\r\no=%s %d %d IN IP4 %s\r\ns=%s\r\nc=IN IP4 %s/%d\r\n", 
+ 	  sap_organisation, sap_serial, sap_message->version, channel.ipOut,
+ 	  channel.name, 
+ 	  channel.ipOut, DEFAULT_TTL);
+   if( (sap_message->len+payload_len+strlen(temp_string))>1024)
+     {
+       log_message(MSG_WARN,"Warning : SAP message too long for channel %s\n",channel.name);
+       return 1;
+     }
    memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
    payload_len+=strlen(temp_string);
  
+ 
    //time session is active
    //t=...
    //permanent : t=0 0
  
-   sprintf(temp_string,"t=0 0\r\n");
-   memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
-   payload_len+=strlen(temp_string);
- 
    //attributes : group and co, we'll take the minisapserver ones
    //a=...
    //a=tool:mumudvb-VERSION
    //a=type:broadcast
    //a=x-plgroup: //channel's group
  
-   sprintf(temp_string,"a=tool:mumudvb-%s\r\n", VERSION);
-   memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
-   payload_len+=strlen(temp_string);
- 
-   sprintf(temp_string,"a=type:broadcast\r\n");
-   memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
-   payload_len+=strlen(temp_string);
- 
    //media name and transport address
    //m=...
    //m=video channel_port udp mpeg
  
-   sprintf(temp_string,"m=video %d udp mpeg\r\n", channel.portOut);
+   sprintf(temp_string,"t=0 0\r\na=tool:mumudvb-%s\r\na=type:broadcast\r\nm=video %d udp mpeg\r\n", VERSION, channel.portOut);
+   if( (sap_message->len+payload_len+strlen(temp_string))>1024)
+     {
+       log_message(MSG_WARN,"Warning : SAP message too long for channel %s\n",channel.name);
+       return 1;
+     }
    memcpy(sap_message->buf + sap_message->len + payload_len, temp_string, strlen(temp_string));
    payload_len+=strlen(temp_string);
+ 
    
    log_message(MSG_DEBUG,"DEBUG : SAP payload\n");
    log_message(MSG_DEBUG, &sap_message->buf[sap_message->len]);
@@@ -180,8 -163,6 +163,6 @@@
  
    sap_message->len+=payload_len;
  
-   //TODO : check packet size
- 
    return 0;
  
  }

-- 
Mumudvb packaging



More information about the pkg-vdr-dvb-changes mailing list