I am working in a implementation of HLS protocol.<br><a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-08">http://tools.ietf.org/html/draft-pantos-http-live-streaming-08</a><div><br>I see all my .TS files have the "audio timestamp" equal to 126000.<br>

<br>According to the HLS specification, section 4 Media segments, it says:</div><div><br></div><div><pre class="newpage" style="font-size:1em;margin-top:0px;margin-bottom:0px">A media segment MUST be the continuation of the encoded media at the
end of the segment with the previous sequence number, where values in
a continuous series, such as <b>timestamps</b> and <b>Continuity Counters</b>,
continue uninterrupted - unless the media segment was the first ever
to appear in the Playlist file or has an EXT-X-DISCONTINUITY tag
applied to it.</pre><pre class="newpage" style="font-size:1em;margin-top:0px;margin-bottom:0px"><br></pre>And then I see my videos are getting out of sync because of it. <b>How do I change the .TS files "timestamps and Continuity Counters"?</b></div>

<div><b><br></b></div>Thank you...<div><br><div><br></div><div><br></div><div><b>[ DEEP DETAILS: ]</b></div><div>I am transmuxing the HLS files one by one, so I would like to have a parameter [that I think it doesn't exist here]</div>

<div><br></div><div><div>MPEGTS muxer AVOptions:</div><div>-mpegts_transport_stream_id <int>   E.... Set transport_stream_id field.</div><div>-mpegts_original_network_id <int>   E.... Set original_network_id field.</div>

<div>-mpegts_service_id <int>   E.... Set service_id field.</div><div>-mpegts_pmt_start_pid <int>   E.... Set the first pid of the PMT.</div><div>-mpegts_start_pid  <int>   E.... Set the first pid.</div>

<div>-mpegts_m2ts_mode  <int>   E.... Enable m2ts mode.</div><div>-muxrate           <int>   E....</div><div>-pes_payload_size  <int>   E.... Minimum PES packet payload in bytes</div><div>-resend_headers    <int>   E.... Reemit PAT/PMT before writing the next packet</div>

<div><br></div></div><div>SO, with this "parameter" I would have a chance to change this data... however, I tried to figure out in the mpegtsenc.c WHERE is this "timestamp" or continuity counter...</div>

<div><br></div><div>I thought it would be somthing around here:</div><div><br></div><div><div>typedef struct MpegTSWriteStream {</div><div>    struct MpegTSService *service;</div><div>    int pid; /* stream associated pid */</div>

<div><b>    int cc;</b></div><div>    int payload_size;</div><div><b>    int first_pts_check; ///< first pts check needed</b></div><div>    int prev_payload_key;</div><div>    int64_t payload_pts;</div><div>    int64_t payload_dts;</div>

<div>    int payload_flags;</div><div>    uint8_t *payload;</div><div>    ADTSContext *adts;</div><div>} MpegTSWriteStream;</div></div><div><br></div><div><br></div><div>BUT I think I misinterpreted it... because in the mpegts_write_header(), we have:</div>

<div><div>    ts->pat.pid = PAT_PID;</div><div>    ts->pat.cc = 15; // Initialize at 15 so that it wraps and be equal to 0 for the first packet we write</div></div><div><br></div><div>as fixed values.... so I don't understand HOW THE mpegtsenc MUXER GOT 126000 as the timestamp... where is this value in mpegtsenc.c so I could tune it?</div>

</div>