home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
Development
Submit: code patches (MediaPortal/TV-Server/etc.)
Timeshifting in a single looping .ts file
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="mbuzina" data-source="post: 712224" data-attributes="member: 12382"><p>how about first documenting all requirements to the buffering mechanism and then try to design a solution that fits best? (sorry just my 2ct, I know more theory than practice, but sometimes standing back is quite usefull).</p><p></p><p>So what should the time shift buffer allow:</p><p>1. Each stream sent to a client should be buffered</p><p>2. Each stream buffer should hold at least <em>min buff size</em> bytes of stream to allow skipping</p><p>3. When a client changes channel or switches off, my idea: unused buffer is discarded, a new buffer is created viewing is started from the live point on.</p><p>4. When a client pauses a stream, the stream buffer continues recording to the buffer, playback is halted. Buffer grows unti l<em>max buff size</em> is reached</p><p>5. When <em>max buff size</em> is reached, the server stops adding to this stream buffer</p><p>6. If another client is timeshifting of the same buffer which has grown to full size, and current client would miss data, a second buffer should be started and all currently viewing clients should be moved to the new buffer as soon as they pass the starting point of this buffer.</p><p>7. Any client can scan through all existing buffers for a given channel</p><p>8. Buffer shrinks to <em>min buff size</em> after all clients view point is past this point in the buffer (can be lazy).</p><p></p><p>Other requirements?</p></blockquote><p></p>
[QUOTE="mbuzina, post: 712224, member: 12382"] how about first documenting all requirements to the buffering mechanism and then try to design a solution that fits best? (sorry just my 2ct, I know more theory than practice, but sometimes standing back is quite usefull). So what should the time shift buffer allow: 1. Each stream sent to a client should be buffered 2. Each stream buffer should hold at least [I]min buff size[/I] bytes of stream to allow skipping 3. When a client changes channel or switches off, my idea: unused buffer is discarded, a new buffer is created viewing is started from the live point on. 4. When a client pauses a stream, the stream buffer continues recording to the buffer, playback is halted. Buffer grows unti l[I]max buff size[/I] is reached 5. When [I]max buff size[/I] is reached, the server stops adding to this stream buffer 6. If another client is timeshifting of the same buffer which has grown to full size, and current client would miss data, a second buffer should be started and all currently viewing clients should be moved to the new buffer as soon as they pass the starting point of this buffer. 7. Any client can scan through all existing buffers for a given channel 8. Buffer shrinks to [I]min buff size[/I] after all clients view point is past this point in the buffer (can be lazy). Other requirements? [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
Development
Submit: code patches (MediaPortal/TV-Server/etc.)
Timeshifting in a single looping .ts file
Contact us
RSS
Top
Bottom