コード例 #1
0
ファイル: protocol.py プロジェクト: imclab/scenic
 def _send_packet(self, pt, data, marker=0, xhdrtype=None, xhdrdata=''):
     if not self.RTCP.we_sent:
         #Updating we_sent
         self.RTCP.we_sent = True
         #Adding itself to senders table
         new_member = self.RTCP.member.copy()
         loc = self.getVisibleAddress()
         #new_member['addr'] = "localhost"
         #new_member['port'] = loc[1]+1
         self.RTCP.senders_table[self.ssrc] = new_member
     #Building packet
     packet = RTPPacket(self.ssrc,
                        self.seq,
                        self.ts,
                        data,
                        pt=pt,
                        marker=marker,
                        xhdrtype=xhdrtype,
                        xhdrdata=xhdrdata)
     self.seq += 1
     rtp, session = self.app.currentRecordings[self.cookie]
     session.seq = self.seq
     # Note that seqno gets modulo 2^16 in RTPPacket, so it doesn't need
     # to be wrapped at 16 bits here.
     if self.seq >= 65536:
         self.seq = 1
     bytes = packet.netbytes()
     ## For RTCP sender report.
     self.currentSentBytesTotal += len(bytes)
     self.currentSentPacketsTotal += 1
     for ssrc in self.RTCP.members_table:
         if (ssrc != self.ssrc) and (
                 self.RTCP.members_table[ssrc]['rtcp_port'] != 0):
             try:
                 dest = (self.RTCP.members_table[ssrc]['addr'],
                         self.RTCP.members_table[ssrc]['rtcp_port'] - 1)
                 if DEBUG:
                     print "send RTP to " + str(dest)
                 self.transport.write(bytes, dest)
             except MessageLengthError, e:
                 print "Cannot write on socket ! Exception e (member: " \
                     + str(self.RTCP.members_table[ssrc])
             self.last_sent_time = time()
コード例 #2
0
ファイル: protocol.py プロジェクト: ViktorNova/rtpmidi
    def _send_packet(self, pt, data, marker=0, xhdrtype=None, xhdrdata=''):
        if not self.RTCP.we_sent:
            #Updating we_sent
            self.RTCP.we_sent = True
            #Adding itself to senders table
            new_member =self.RTCP.member.copy()
            loc = self.getVisibleAddress()
            #new_member['addr'] = "localhost"
            #new_member['port'] = loc[1]+1
            self.RTCP.senders_table[self.ssrc] = new_member
        #Building packet
        packet = RTPPacket(self.ssrc, self.seq, self.ts, data, pt=pt,
                           marker=marker, xhdrtype=xhdrtype, xhdrdata=xhdrdata)
        self.seq += 1
	rtp, session = self.app.currentRecordings[self.cookie]
	session.seq = self.seq
        # Note that seqno gets modulo 2^16 in RTPPacket, so it doesn't need
        # to be wrapped at 16 bits here.
        if self.seq >= 65536:
            self.seq = 1
        bytes = packet.netbytes()
        ## For RTCP sender report.
        self.currentSentBytesTotal += len(bytes)
        self.currentSentPacketsTotal += 1
        for ssrc in self.RTCP.members_table:
            if (ssrc != self.ssrc) and (self.RTCP.members_table[ssrc]['rtcp_port'] != 0):
                try:
                    dest = (self.RTCP.members_table[ssrc]['addr'],
                            self.RTCP.members_table[ssrc]['rtcp_port']-1)
                    if DEBUG:
                        print "send RTP to " + str(dest)
                    self.transport.write(bytes, dest)
                except MessageLengthError, e:
                    print "Cannot write on socket ! Exception e (member: " \
                        + str(self.RTCP.members_table[ssrc])
                self.last_sent_time = time()
コード例 #3
0
ファイル: test_protocol.py プロジェクト: imclab/scenic
 def test_checksum(self):
     #Test a good packet
     packet = RTPPacket(424242, 2, 10, "", pt=96)
     bytes = packet.netbytes()
     res = self.rtp.checksum(bytes)
     assert (res == 1), self.fail("Wrong checksum for RTP packet")
コード例 #4
0
ファイル: test_protocol.py プロジェクト: alg-a/scenic
 def test_checksum(self):
     #Test a good packet
     packet = RTPPacket(424242, 2, 10, "", pt=96)
     bytes = packet.netbytes()
     res = self.rtp.checksum(bytes)
     assert(res==1), self.fail("Wrong checksum for RTP packet")