Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seek Frame Caching Policy #139

Closed
mariodivece opened this issue Jan 17, 2018 · 2 comments
Closed

Seek Frame Caching Policy #139

mariodivece opened this issue Jan 17, 2018 · 2 comments
Assignees

Comments

@mariodivece
Copy link
Member

Implement seek and frame caching. A nice starting point is explained in issue #32
Some ideas:

  • Make the MediaBlockBuffer size either dynamic or configurable
  • Some indexing might work but I am not sure...
  • On seek command set a Direction property and perform a seek in the background. Upon play make the direction forward. If we are backwards rendering frame then seek in the background so it seems smoother than what it currently looks like.
@mariodivece
Copy link
Member Author

mariodivece commented May 27, 2018

Related issue #32 and a good starting point:
https://github.com/lbrandy/ffmpeg-fas

This does indexing which can be related to caching policy

mariodivece added a commit that referenced this issue Sep 23, 2018
mariodivece added a commit that referenced this issue Sep 24, 2018
* starting with seek indexing. Related to issue #139

* continued work on seek indexing.

* Generalizing sorted binary search algorithm. Continued work on seek indices. See issues #250 and #139

* improved and simplified seek logic.

* minor renaming and added seek error checking.

* logging when using a video seek index entry.

* fixing frame start offset by offseting them by main component.
mariodivece added a commit that referenced this issue Mar 4, 2019
* experimenting with better clocks and rendering

* clock relative timing

* more advancements in relative timing. Clocks are still very messy at this point.

* continued work on timing

* simplifying relative clock methods

* room for blocks logic -- still needs work.

* experimentation of making room for blocks.

* still working on timing and more natural rendering and decoding

* more fine-grained control over clock

* It's a house of cards... but it's beautiful!

* removing some unused code and adding some notes.

* a new approach to sync-buffering

* splitting block rendering logic into individual functions to ensure more clarity

* starting with new sync-buffering logic.

* relative time track timing

* automatic time sync detection

* more refinements to blockrenderingworker

* additional minor improvements to blockrendering

* faster stream start without syncbuffering on main

* samll adjustemnts and simplifications.

* More documentation. Migrating log outputter to worker base

* re-enabling AV sync

Resolving issues #315, #310, #303, #299, #284 and #139
@mariodivece
Copy link
Member Author

This is now available on the MediaOpening events under Options.VideoBlockCache, Options.AudioBlockCache and Options.SubtitleBlockCache

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant