<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 11, 2015, at 6:24 AM, Rémi Denis-Courmont <<a href="mailto:remi@remlab.net" class="">remi@remlab.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Le 2015-01-10 01:55, Tristan Matthews a écrit :<br class=""><blockquote type="cite" class="">If no header is given, deduce it from the decoder format.<br class=""></blockquote><br class="">There is always a clock rate in RTP. You get it in the SDP rtpmap line.<br class=""></div></blockquote><div><br class=""></div>Note that this is already done in line 857 of "live555.cpp", where you do (for audio tracks):</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>tk->fmt.audio.i_rate = sub->rtpTimestampFrequency();</div><div>to set the *default* audio sampling frequency.  So you shouldn't need to do this again.</div><div><br class=""></div><div>In any case, however, note the Opus RTP payload format document:</div><div><span class="Apple-tab-span" style="white-space:pre">     </span><a href="https://tools.ietf.org/html/draft-ietf-payload-rtp-opus-06" class="">https://tools.ietf.org/html/draft-ietf-payload-rtp-opus-06</a></div><div><br class=""></div><div>In particular:</div><div>1/ For Opus, the RTP clock rate is always 48000 Hz</div><div>2/ HOWEVER, the sampling frequency of the Opus audio that's contained within the RTP packet can be 8000 Hz, 12000 Hz, 16000 Hz, 24000 Hz, or 48000 Hz; see "Table 1".  This, not the RTP clock rate, is what you care about for VLC.  (Only the LIVE555 library should really care about the RTP clock rate.)</div><div><br class=""></div><div>Note also, in section 4.2:</div><div><pre class="newpage">   The Opus encoder can output encoded frames representing 2.5, 5, 10,
   20, 40, or 60 ms of speech or audio data.  Further, an arbitrary
   number of frames can be combined into a packet, up to a maximum
   packet duration representing 120 ms of speech or audio data.  The
   grouping of one or more Opus frames into a single Opus packet is
   defined in <a href="https://tools.ietf.org/html/rfc6716#section-3" class="">Section 3 of [RFC6716]</a>.  An RTP payload MUST contain
   exactly one Opus packet as defined by that document.</pre><div class="">Note that section 3.1 of RFC 6716</div><div class=""><span class="Apple-tab-span" style="white-space:pre">     </span><a href="https://tools.ietf.org/html/rfc6716#section-3" class="">https://tools.ietf.org/html/rfc6716#section-3</a></div><div class="">describes how to deduce the sampling frequency and number of frames from the first byte of each "Opus packet" - i.e., the data that's contained in each Opus RTP packet.  I hope, however, that you already do this elsewhere in VLC, in its generic code for decoding Opus audio.  You should not have to be doing this (looking at the first byte of payload data to deduce sampling frequency, etc.) in the "live555.cpp" module, as that code should be specifically for RTSP/RTP-related stuff.</div></div><br class=""><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>