]> git.sesse.net Git - vlc/blobdiff - modules/stream_out/rtp.c
linsys_hdsdi: remove redundant nul terminator
[vlc] / modules / stream_out / rtp.c
index bfdabb9b65871e54940376fb9c6fc8c70a5e8c11..24839a92be065d5bbe4a0db24da3dfa148132043 100644 (file)
@@ -355,7 +355,8 @@ struct sout_stream_id_sys_t
 {
     sout_stream_t *p_stream;
     /* rtp field */
-    uint16_t    i_sequence;
+    /* For RFC 4175, seqnum is extended to 32-bits */
+    uint32_t    i_sequence;
     bool        b_first_packet;
     bool        b_ts_init;
     uint32_t    i_ts_offset;
@@ -1649,10 +1650,14 @@ void rtp_packetize_common( sout_stream_id_sys_t *id, block_t *out,
 
     memcpy( out->p_buffer + 8, id->ssrc, 4 );
 
-    out->i_buffer = 12;
     id->i_sequence++;
 }
 
+uint16_t rtp_get_extended_sequence( sout_stream_id_sys_t *id )
+{
+    return id->i_sequence >> 16;
+}
+
 void rtp_packetize_send( sout_stream_id_sys_t *id, block_t *out )
 {
     block_FifoPut( id->p_fifo, out );
@@ -1798,3 +1803,9 @@ static sout_access_out_t *GrabberCreate( sout_stream_t *p_stream )
     p_grab->pf_write    = AccessOutGrabberWrite;
     return p_grab;
 }
+
+void rtp_get_video_geometry( sout_stream_id_sys_t *id, int *width, int *height )
+{
+    int ret = sscanf( id->rtp_fmt.fmtp, "%*s width=%d; height=%d; ", width, height );
+    assert( ret == 2 );
+}