
On Wed, May 15, 2013 at 01:32:37PM +0200, Luca Barbato wrote:
On 05/15/2013 01:21 PM, Michael Niedermayer wrote:
interresting idea.
I would suggest the following: * leave the transmit_ts as it is * add a field to the main header that contains the wallclock transmit time corresponding to the transmit_ts == 0
This should avoid the need to bump the version, improving compatibility as old demuxers will be able to read it (they would reject VERSION>3)
Its more space efficient than storing a full wallclock timestamp as the 0 based timestamps would be smaller in value and take up fewer bytes
Surely feasible, since it is a real-time information can stay on the global header w/out problems.
The wallclock time corresponding to the transmit_ts of 0 does not change throughout the stream. Its just the origin / zero point from where you count time Its like the day you are born does not change and can be written in your birth certificate. While your age changes in relation to your "birth date" (realtime) over your life. That is instead of packet 123 transmit time = 2013 01 02 03:04:05.00 packet 124 transmit time = 2013 01 02 03:04:05.02 packet 125 transmit time = 2013 01 02 03:04:05.03 one can use: main_header reference_wallclock = 2013 01 02 00:00:00.00 ... packet 123 transmit time = 03:04:05.00 packet 124 transmit time = 03:04:05.02 packet 125 transmit time = 03:04:05.03 Its the same information, just requires fewer bytes to transmit/store and the stream can continue realtime for millions of years with the same main header if someone really wanted Though i suspect the stream would be restarted several times a year with new video resolutions, audio sample rates, audio & video codecs and other change I hope that clarifies what i was suggesting Thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Let us carefully observe those good qualities wherein our enemies excel us and endeavor to excel them, by avoiding what is faulty, and imitating what is excellent in them. -- Plutarch