b=1023697 remove unused TicksToTimeRound() r=roc

--HG--
extra : transplant_source : %3E%84%B8%C7%25%EE%EEz%08%B9%ABx8%27%C3%BA%9C%F6%9D%ED
b=1023697 add methods to MediaStream for tick and time conversions r=roc

When MediaTime depends on the audio rate of the graph, the stream will know the
graph rate and so can perform the conversion.

Existing methods in StreamBuffer.h and MediaSegment.h will be removed once
clients have been changed to the new methods.

--HG--
extra : transplant_source : %155uv%90%EC%81%C8%888%C4%17%AF%ED%1B%A0B%90%5E%26
b=1023697 change MediaDecoderStateMachine::mSyncPointInMediaStream from StreamTime to µs r=roc

This allows the conversion from StreamTime to be performed while a stream is
available.

--HG--
extra : transplant_source : %3A%AD%5C%1A%84%C3%1BC%8B%04%D5%5B%90%3Cv%BE%A6%D6%C0%9D
b=1023697 use MediaStream to convert ticks to time in MediaDecoderStateMachine r=roc

--HG--
extra : transplant_source : %EA%E0%A5rH%F6%F55%B0%28%3Eq%5C%8Ap%FC%06%3D%06%3B
b=1023697 use MediaStream to convert stream time to seconds in HTMLMediaElement r=roc

--HG--
extra : transplant_source : %7D%AF%00%8F%0F4%E3%3C.%F7%E2%92%BA%CB%92%0E/%19%CFM
b=1023697 use MediaStream to convert stream time to ticks in media engine sources r=roc

--HG--
extra : transplant_source : %F9O%C0T_%C9%8D%9C%3Bt%CB%60%EA%60%C3i_%E0A%9D
b=1023697 use MediaStream to convert stream time to seconds in DOMMediaStream r=roc

--HG--
extra : transplant_source : %D4%9E%26%05%E3%8AQ%7B%D1%D1%E8%88j%DC%F7r.%7BJ%1A
b=1023697 use MediaStream to convert between stream time and seconds in Web Audio r=roc

--HG--
extra : transplant_source : %FE%C77k/%25%B4%25F%FB1%EAAqn%CA%DEH%06%C0
b=1023697 use MediaStream to convert between stream time and seconds/ticks in MediaPipeline r=roc

The fake graph needs an implementation of the conversion methods.

The real graph will change to use audio ticks for time in a subsequent patch,
but the fake graph doesn't know about MEDIA_TIME_FRAC_BITS, so that change
can be made now in the fake graph.

--HG--
extra : transplant_source : %22%C4%01Yh%5D%F0%A6%11%40%CD%B5%89%0A%8C%8A%C2%19%5E%CC
b=1023697 record the graph tick rate on StreamBuffer and its Tracks for StreamTime calculations r=roc

--HG--
extra : transplant_source : 8%B4%DB%A4%FE%2C%B7%235%7F%7D5%2C%FA%BA%0D%9E%CC%7E%11
b=1023697 add functions to convert between track rates and remove global StreamTime/tick conversion functions r=roc

--HG--
extra : transplant_source : %B6%BC%83%17%22%EE%5D%BEl%B6%17m%1C%D0N%D1C%97%60%E1
b=1023697 simplify StreamBuffer::ForgetUpTo() to avoid graph-rate-dependent conversions r=roc

--HG--
extra : transplant_source : %16%9C%08%CA%3E%DD%82%21%D2%90%7D%29%FB%D9L%9E%F8%2A%CBd
b=1023697 add functions to convert between track ticks and seconds, and remove global MediaTime/second conversion functions r=roc

--HG--
extra : transplant_source : %F3%D8%C168%B7%A3%13%B2p%3Ee%89TkGlD%A8%A7
b=1023697 use 0 for initial graph time r=roc

We could get away with 1 as an initial time when units were 1/(1<<20) seconds
but when graph time units are audio samples, an initial value of 1 will mean
that the first audio block produced has 1 frame fewer.

--HG--
extra : transplant_source : %FF%D5%AF%A9%C7%EA%C4%D7%ED%8F%CC%AC%E4%5E%FF%D0%87%8D%3AN
b=1023697 use audio ticks for graph time units r=roc

--HG--
extra : transplant_source : 8%BA%9D%5C%E32%05x%A79K%08TH%A7%F4%F2tg%EC