@@ -8,17 +8,17 @@ namespace SharpRTSPServer
88 /// <summary>
99 /// G711 PCMU (U-LAW) track.
1010 /// </summary>
11- public class PCMUTrack : ITrack
11+ public class PCMUTrack : TrackBase
1212 {
1313 /// <summary>
1414 /// PCMU Audio Codec name.
1515 /// </summary>
16- public string Codec => "PCMU" ;
16+ public override string Codec => "PCMU" ;
1717
1818 /// <summary>
1919 /// Track ID. Used to identify the track in the SDP.
2020 /// </summary>
21- public int ID { get ; set ; } = 1 ;
21+ public override int ID { get ; set ; } = 1 ;
2222
2323 /// <summary>
2424 /// Sampling rate.
@@ -33,19 +33,19 @@ public class PCMUTrack : ITrack
3333 /// <summary>
3434 /// Is the track ready?
3535 /// </summary>
36- public bool IsReady { get { return true ; } }
36+ public override bool IsReady { get { return true ; } }
3737
3838 /// <summary>
3939 /// Payload type. PCMU uses static payload type 0.
4040 /// </summary>
41- public int PayloadType { get ; set ; } = 0 ;
41+ public override int PayloadType { get ; set ; } = 0 ;
4242
4343 /// <summary>
4444 /// Build the SDP for this track.
4545 /// </summary>
4646 /// <param name="sdp">SDP <see cref="StringBuilder"/>.</param>
4747 /// <returns><see cref="StringBuilder"/>.</returns>
48- public StringBuilder BuildSDP ( StringBuilder sdp )
48+ public override StringBuilder BuildSDP ( StringBuilder sdp )
4949 {
5050 sdp . Append ( $ "m=audio 0 RTP/AVP { PayloadType } \n ") ;
5151 sdp . Append ( $ "a=control:trackID={ ID } \n ") ;
@@ -59,7 +59,7 @@ public StringBuilder BuildSDP(StringBuilder sdp)
5959 /// <param name="samples">An array of PCMU fragments. By default single fragment is expected.</param>
6060 /// <param name="rtpTimestamp">RTP timestamp in the timescale of the track.</param>
6161 /// <returns>RTP packets.</returns>
62- public ( List < Memory < byte > > , List < IMemoryOwner < byte > > ) CreateRtpPackets ( List < byte [ ] > samples , uint rtpTimestamp )
62+ public override ( List < Memory < byte > > , List < IMemoryOwner < byte > > ) CreateRtpPackets ( List < byte [ ] > samples , uint rtpTimestamp )
6363 {
6464 List < Memory < byte > > rtpPackets = new List < Memory < byte > > ( ) ;
6565 List < IMemoryOwner < byte > > memoryOwners = new List < IMemoryOwner < byte > > ( ) ;
@@ -93,17 +93,17 @@ public StringBuilder BuildSDP(StringBuilder sdp)
9393 /// <summary>
9494 /// G711 PCMA (A-LAW) track.
9595 /// </summary>
96- public class PCMATrack : ITrack
96+ public class PCMATrack : TrackBase
9797 {
9898 /// <summary>
9999 /// PCMA Audio Codec name.
100100 /// </summary>
101- public string Codec => "PCMA" ;
101+ public override string Codec => "PCMA" ;
102102
103103 /// <summary>
104104 /// Track ID. Used to identify the track in the SDP.
105105 /// </summary>
106- public int ID { get ; set ; } = 1 ;
106+ public override int ID { get ; set ; } = 1 ;
107107
108108 /// <summary>
109109 /// Sampling rate.
@@ -118,19 +118,19 @@ public class PCMATrack : ITrack
118118 /// <summary>
119119 /// Is the track ready?
120120 /// </summary>
121- public bool IsReady { get { return true ; } }
121+ public override bool IsReady { get { return true ; } }
122122
123123 /// <summary>
124124 /// Payload type. PCMA uses static payload type 8.
125125 /// </summary>
126- public int PayloadType { get ; set ; } = 8 ;
126+ public override int PayloadType { get ; set ; } = 8 ;
127127
128128 /// <summary>
129129 /// Build the SDP for this track.
130130 /// </summary>
131131 /// <param name="sdp">SDP <see cref="StringBuilder"/>.</param>
132132 /// <returns><see cref="StringBuilder"/>.</returns>
133- public StringBuilder BuildSDP ( StringBuilder sdp )
133+ public override StringBuilder BuildSDP ( StringBuilder sdp )
134134 {
135135 sdp . Append ( $ "m=audio 0 RTP/AVP { PayloadType } \n ") ;
136136 sdp . Append ( $ "a=control:trackID={ ID } \n ") ;
@@ -144,7 +144,7 @@ public StringBuilder BuildSDP(StringBuilder sdp)
144144 /// <param name="samples">An array of PCMA fragments. By default single fragment is expected.</param>
145145 /// <param name="rtpTimestamp">RTP timestamp in the timescale of the track.</param>
146146 /// <returns>RTP packets.</returns>
147- public ( List < Memory < byte > > , List < IMemoryOwner < byte > > ) CreateRtpPackets ( List < byte [ ] > samples , uint rtpTimestamp )
147+ public override ( List < Memory < byte > > , List < IMemoryOwner < byte > > ) CreateRtpPackets ( List < byte [ ] > samples , uint rtpTimestamp )
148148 {
149149 List < Memory < byte > > rtpPackets = new List < Memory < byte > > ( ) ;
150150 List < IMemoryOwner < byte > > memoryOwners = new List < IMemoryOwner < byte > > ( ) ;
0 commit comments