{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":36077729,"defaultBranch":"main","name":"Aurio","ownerLogin":"protyposis","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-05-22T14:52:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/189372?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706614987.0","currentOid":""},"activityList":{"items":[{"before":"c18b29947535beed25957a0380f741b78cccc168","after":"42b31862bc388b66790e5802c77865e76b31a692","ref":"refs/heads/main","pushedAt":"2024-01-30T11:43:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"chore(release): 4.2.1","shortMessageHtmlLink":"chore(release): 4.2.1"}},{"before":"8e4204c6f305007eeef0443a23d6256afe9266b3","after":null,"ref":"refs/heads/feat/ffmpeg-seek-improvements","pushedAt":"2024-01-30T11:38:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"90fb5f326c8843e642b4c9ef89ee5fbb0f5d8936","after":"c18b29947535beed25957a0380f741b78cccc168","ref":"refs/heads/main","pushedAt":"2024-01-30T11:38:17.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: FFmpeg end-of-stream handling breaks stream contract","shortMessageHtmlLink":"fix: FFmpeg end-of-stream handling breaks stream contract"}},{"before":null,"after":"8e4204c6f305007eeef0443a23d6256afe9266b3","ref":"refs/heads/feat/ffmpeg-seek-improvements","pushedAt":"2024-01-30T11:23:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: FFmpeg end-of-stream handling breaks stream contract","shortMessageHtmlLink":"fix: FFmpeg end-of-stream handling breaks stream contract"}},{"before":"781ecda75d4ee0d69266e23ba5ce84dbbbe8edab","after":"90fb5f326c8843e642b4c9ef89ee5fbb0f5d8936","ref":"refs/heads/main","pushedAt":"2024-01-27T18:33:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"chore(release): 4.2.0","shortMessageHtmlLink":"chore(release): 4.2.0"}},{"before":"682cf2d3d49359d8f8678a95ccb205e73f89f819","after":"781ecda75d4ee0d69266e23ba5ce84dbbbe8edab","ref":"refs/heads/main","pushedAt":"2024-01-27T18:27:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"refactor: update deprecated FFmpeg video frame flags","shortMessageHtmlLink":"refactor: update deprecated FFmpeg video frame flags"}},{"before":"d64ff404223b0888c6c695fa4bb699fe4d85cff1","after":null,"ref":"refs/heads/feat/ffmpeg-seeking","pushedAt":"2024-01-27T13:05:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"2d531d024724483c32f7a7fab7861d653f72b6f3","after":"682cf2d3d49359d8f8678a95ccb205e73f89f819","ref":"refs/heads/main","pushedAt":"2024-01-27T13:05:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: improve FFmpeg seeking (#26)\n\nAdd three seek improvements which increase the range of file formats that can be directly decoded through FFmpeg and thus reduce the likelihood that audio proxies are required:\r\n- report container duration when stream duration is unavailable,\r\n- consider non-zero start times,\r\n- handle cases where seeks end up too early.","shortMessageHtmlLink":"feat: improve FFmpeg seeking (#26)"}},{"before":null,"after":"d64ff404223b0888c6c695fa4bb699fe4d85cff1","ref":"refs/heads/feat/ffmpeg-seeking","pushedAt":"2024-01-27T12:54:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"Add tests","shortMessageHtmlLink":"Add tests"}},{"before":"0e1779c6755cdf7cf53cca313cad1650c9d7a17e","after":null,"ref":"refs/heads/feat/direct-proxy-files","pushedAt":"2024-01-26T20:24:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"6a99a854add499bba1773eb93d18eb44693d5c2a","after":"2d531d024724483c32f7a7fab7861d653f72b6f3","ref":"refs/heads/main","pushedAt":"2024-01-26T20:24:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: direct audio proxy file writing (#25)\n\nWhen generating an audio proxy file for an FFmpeg stream, it was first fully decoded and stored in memory before it was written to a file. This was an inefficient waste of memory resources, and proxy files were limited to a size of 2 GiB due to a limitation of .NET's `MemoryStream`. With this change, the files are written directly. They are now limited to 4 GiB due to a limitation of NAudio's `WaveFileWriter`.","shortMessageHtmlLink":"feat: direct audio proxy file writing (#25)"}},{"before":"022d1f2f5cb38ffcd01b0b53ced837334a39f57b","after":"0e1779c6755cdf7cf53cca313cad1650c9d7a17e","ref":"refs/heads/feat/direct-proxy-files","pushedAt":"2024-01-26T20:18:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: direct audio proxy file writing\n\nWhen generating an audio proxy file for an FFmpeg stream, it was first fully decoded and stored in memory before it was written to a file. This was an inefficient waste of memory resources, and proxy files were limited to a size of 2 GiB due to a limitation of .NET's `MemoryStream`. With this change, the files are written directly. They are now limited to 4 GiB due to a limitation of NAudio's `WaveFileWriter`.","shortMessageHtmlLink":"feat: direct audio proxy file writing"}},{"before":null,"after":"022d1f2f5cb38ffcd01b0b53ced837334a39f57b","ref":"refs/heads/feat/direct-proxy-files","pushedAt":"2024-01-26T20:12:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: direct audio proxy file writing\n\nWhen generating an audio proxy file for an FFmpeg stream, it was first fully decoded and stored in memory before it was written to a file. This was an inefficient waste of memory resources, and proxy files were limited to a size of 2 GiB due to a limitation of .NET's `MemoryStream`. With this change, the files are written directly. They are now limited to 4 GiB due to a limitation of NAudio's `WaveFileWriter`.","shortMessageHtmlLink":"feat: direct audio proxy file writing"}},{"before":"a9ee0f80b5b4bac927082c6cea4fb2e1c418595d","after":null,"ref":"refs/heads/feat/fix-ffmpeg-eof-loop","pushedAt":"2024-01-26T20:01:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"316cf4d42e913288bfea200568e69b00554bcda8","after":"6a99a854add499bba1773eb93d18eb44693d5c2a","ref":"refs/heads/main","pushedAt":"2024-01-26T20:01:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: infinite read loop at end of FFmpeg stream (#24)\n\nWhen FFmpeg doesn't know from file metadata where a stream ends (e.g., MPEG transport streams), it tries to read until it reaches the end. To detect the end, it looks for a specific `EOF` code. Update the `read` function to return the `EOF` code instead of `0` (bytes read) and prevent FFmpeg from endlessly retrying to read.","shortMessageHtmlLink":"fix: infinite read loop at end of FFmpeg stream (#24)"}},{"before":null,"after":"a9ee0f80b5b4bac927082c6cea4fb2e1c418595d","ref":"refs/heads/feat/fix-ffmpeg-eof-loop","pushedAt":"2024-01-26T19:44:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: infinite read loop at end of FFmpeg stream","shortMessageHtmlLink":"fix: infinite read loop at end of FFmpeg stream"}},{"before":"7eed50a6ca8d6dffb8d69dc269e68043448c9440","after":null,"ref":"refs/heads/feat/ffmpeg-read-optimization","pushedAt":"2024-01-26T19:38:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"ba619abc8c41b45c00031c508e0ca67222d43d5a","after":"316cf4d42e913288bfea200568e69b00554bcda8","ref":"refs/heads/main","pushedAt":"2024-01-26T19:38:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: read FFmpeg samples without intermediary buffer (#23)\n\nUse newer .NET API to read samples from native layer directly into managed memory and avoid the overhead of copying into a transfer buffer.","shortMessageHtmlLink":"feat: read FFmpeg samples without intermediary buffer (#23)"}},{"before":null,"after":"7eed50a6ca8d6dffb8d69dc269e68043448c9440","ref":"refs/heads/feat/ffmpeg-read-optimization","pushedAt":"2024-01-26T19:31:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: read FFmpeg samples without intermediary buffer\n\nUse newer .NET API to read samples from native layer directly into managed memory and avoid the overhead of copying into a transfer buffer.","shortMessageHtmlLink":"feat: read FFmpeg samples without intermediary buffer"}},{"before":"010eb87ee80dfaeb7fb417eb20e7cce6d7c9de1c","after":null,"ref":"refs/heads/feat/fix-ffmpeg-proxy-files","pushedAt":"2024-01-26T19:17:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"b6ccac2da94bd40089d58e9b14bd26054c759a38","after":"ba619abc8c41b45c00031c508e0ca67222d43d5a","ref":"refs/heads/main","pushedAt":"2024-01-26T19:17:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: exception on FFmpeg proxy file creation (#22)\n\nMake sure that a proxy file info is set before triggering the proxy file generation.","shortMessageHtmlLink":"fix: exception on FFmpeg proxy file creation (#22)"}},{"before":"24da88c14c3faffcf8a9f37a4d6f8f9ec0c4ed51","after":"010eb87ee80dfaeb7fb417eb20e7cce6d7c9de1c","ref":"refs/heads/feat/fix-ffmpeg-proxy-files","pushedAt":"2024-01-26T18:55:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"Add separate Unix tests","shortMessageHtmlLink":"Add separate Unix tests"}},{"before":"4f9adeead1f4cc2f7aa8f020f810bdc3f7bd1ea5","after":"24da88c14c3faffcf8a9f37a4d6f8f9ec0c4ed51","ref":"refs/heads/feat/fix-ffmpeg-proxy-files","pushedAt":"2024-01-26T18:34:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: exception on FFmpeg proxy file creation","shortMessageHtmlLink":"fix: exception on FFmpeg proxy file creation"}},{"before":null,"after":"4f9adeead1f4cc2f7aa8f020f810bdc3f7bd1ea5","ref":"refs/heads/feat/fix-ffmpeg-proxy-files","pushedAt":"2024-01-26T18:29:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"fix: exception on FFmpeg proxy file creation","shortMessageHtmlLink":"fix: exception on FFmpeg proxy file creation"}},{"before":"103234f1acc8ebf6101523eaf1b5a4897e447a5f","after":null,"ref":"refs/heads/feat/ffmpeg-6.1.1","pushedAt":"2024-01-26T18:22:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"}},{"before":"3c67395330891d41b2af05df0c233731eb9cb9e5","after":"b6ccac2da94bd40089d58e9b14bd26054c759a38","ref":"refs/heads/main","pushedAt":"2024-01-26T18:22:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: bump FFmpeg to 6.1.1 (#21)\n\nThe download link is expected to be valid for two years.","shortMessageHtmlLink":"feat: bump FFmpeg to 6.1.1 (#21)"}},{"before":null,"after":"103234f1acc8ebf6101523eaf1b5a4897e447a5f","ref":"refs/heads/feat/ffmpeg-6.1.1","pushedAt":"2024-01-26T18:15:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"feat: bump FFmpeg to 6.1.1\n\nThe download link is expected to be valid for two years.","shortMessageHtmlLink":"feat: bump FFmpeg to 6.1.1"}},{"before":"b463b1b134e8787d8497d31359d4f345b1417ece","after":"3c67395330891d41b2af05df0c233731eb9cb9e5","ref":"refs/heads/main","pushedAt":"2023-12-09T20:10:26.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"chore(release): 4.1.0","shortMessageHtmlLink":"chore(release): 4.1.0"}},{"before":"5ffd90cd6009b8fd921eb22ea54c7162cca820bb","after":"b463b1b134e8787d8497d31359d4f345b1417ece","ref":"refs/heads/main","pushedAt":"2023-12-07T14:18:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"docs: add link to NuGet packages","shortMessageHtmlLink":"docs: add link to NuGet packages"}},{"before":"741ff7715de1bab847e9e253bf404c8160e14299","after":"5ffd90cd6009b8fd921eb22ea54c7162cca820bb","ref":"refs/heads/main","pushedAt":"2023-12-07T14:14:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"protyposis","name":"Mario Guggenberger","path":"/protyposis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/189372?s=80&v=4"},"commit":{"message":"chore(release): 4.0.0","shortMessageHtmlLink":"chore(release): 4.0.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD7N4AygA","startCursor":null,"endCursor":null}},"title":"Activity ยท protyposis/Aurio"}