summaryrefslogtreecommitdiff
path: root/src/media.h
AgeCommit message (Collapse)Author
2021-12-30DocumentWidget: Inlining "image/*" responsesJaakko Keränen
Image responses get inlined on gemtext pages. It would make sense to use this mechanism for all media since the MIME type is ultimately what matters in determining the appropriate presentation. The file extensions shouldn't matter. IssueID #373
2021-10-17FontPack management via "about:fonts"Jaakko Keränen
2021-10-17Media and FontPacks (work in progress)Jaakko Keränen
Saving this as the last point of progress. This direction is too complicated: Media needs to be a lot more sophisticated to allow dynamic and interactive media at the level of FontPacks. (A bit like Player handles audio playback.) This will be reverted. FontPack management will happen using an another method.
2021-10-11Media refactoring; working on FontPack managementJaakko Keränen
Media still needs more work to get rid of redundancies and make lookups faster. FontPacks are manipulated as Media items (not unlike images) so they can be previewed on page, and installed via a click. FontPack management is not trivial as it includes such details as versioning and whether individual packs are enabled or disabled.
2021-06-10DocumentWidget: Pause audio when document changesJaakko Keränen
While document media is now kept in memory even in history, it's quite strange if audio players keep playing on a page viewed in the past without a way to control the playback.
2021-05-11Cache GmDocuments in memoryJaakko Keränen
Navigation history keeps final GmDocuments in memory for quicker restore when navigating; no need to redo layout. Changed the color escape to Vertical Tab so Carriage Returns can be left in the source, reducing need to normalize spaces.
2021-02-26Don't apply MIME hooks on downloaded filesJaakko Keränen
2021-02-26DocumentWidget: Inline downloadsJaakko Keränen
2021-02-25Consolidating media handlingJaakko Keränen
2020-11-24Fixed threading issues and data racesJaakko Keränen
The most serious problem was that GmRequest's response body was being accessed while the TlsRequest thread was modifying it. Now the response must always be locked before accessing elsewhere. There were also inefficient data updates in the media players.
2020-11-03Cleanup: Breaking up documentwidget.cJaakko Keränen
There's a lot of stuff in documentwidget.c. First, moving away the smaller helper code.
2020-10-11Media: Pause other players when a new one startsJaakko Keränen
2020-10-06Updating media contentJaakko Keränen
Making it possible for media to be partially updated, for streaming. Also fixed a problem with multiple concurrent audio players started on a single media item.
2020-10-04Working on audio playbackJaakko Keränen
Audio players are displayed the same way as images. When playing, a decoder runs in a background thread producing samples suitable for output.
2020-10-01Refactor: Separate media from GmDocumentJaakko Keränen