chore: upgrade purego-ffmpeg to v0.3.0 and update transcoder API
Migrate from v0.1.0 flat API to v0.3.0 convenience API. Constant renames only — no logic changes. All 84 transcoder tests pass.
- commit
- defbe8a6c83576f8c7635ed1df0c2c064f482ca4
- author
- brice · · 2026-03-28 05:37 UTC
- parent
- 5023d63
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
5 files · +28 -58
M go.mod +2 -10
| @@ -4,7 +4,7 @@ go 1.26.1 | |||
| 4 | 4 | ||
| 5 | 5 | require ( | |
| 6 | 6 | github.com/bnema/purego-cef v0.0.0-00010101000000-000000000000 | |
| 7 | - | github.com/bnema/purego-ffmpeg v0.1.0 | |
| 7 | + | github.com/bnema/purego-ffmpeg v0.3.0 | |
| 8 | 8 | github.com/bnema/purego-sqlite v0.1.1 | |
| 9 | 9 | github.com/bnema/puregotk v0.2.2 | |
| 10 | 10 | github.com/bnema/puregotk-webkit v0.0.16 | |
| @@ -24,11 +24,8 @@ require ( | |||
| 24 | 24 | golang.org/x/image v0.38.0 | |
| 25 | 25 | golang.org/x/sys v0.42.0 | |
| 26 | 26 | gopkg.in/yaml.v3 v3.0.1 | |
| 27 | - | modernc.org/sqlite v1.47.0 | |
| 28 | 27 | ) | |
| 29 | 28 | ||
| 30 | - | replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 | |
| 31 | - | ||
| 32 | 29 | replace github.com/bnema/purego-cef => ../purego-cef | |
| 33 | 30 | ||
| 34 | 31 | replace github.com/bnema/purego-ffmpeg => ../purego-ffmpeg | |
| @@ -45,7 +42,6 @@ require ( | |||
| 45 | 42 | github.com/clipperhouse/uax29/v2 v2.5.0 // indirect | |
| 46 | 43 | github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect | |
| 47 | 44 | github.com/davecgh/go-spew v1.1.1 // indirect | |
| 48 | - | github.com/dustin/go-humanize v1.0.1 // indirect | |
| 49 | 45 | github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | |
| 50 | 46 | github.com/go-viper/mapstructure/v2 v2.5.0 // indirect | |
| 51 | 47 | github.com/inconshreveable/mousetrap v1.1.0 // indirect | |
| @@ -58,9 +54,7 @@ require ( | |||
| 58 | 54 | github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect | |
| 59 | 55 | github.com/muesli/cancelreader v0.2.2 // indirect | |
| 60 | 56 | github.com/muesli/termenv v0.16.0 // indirect | |
| 61 | - | github.com/ncruces/go-strftime v1.0.0 // indirect | |
| 62 | 57 | github.com/pmezard/go-difflib v1.0.0 // indirect | |
| 63 | - | github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect | |
| 64 | 58 | github.com/rivo/uniseg v0.4.7 // indirect | |
| 65 | 59 | github.com/russross/blackfriday/v2 v2.1.0 // indirect | |
| 66 | 60 | github.com/sagikazarmark/locafero v0.12.0 // indirect | |
| @@ -77,9 +71,7 @@ require ( | |||
| 77 | 71 | golang.org/x/sync v0.20.0 // indirect | |
| 78 | 72 | golang.org/x/text v0.35.0 // indirect | |
| 79 | 73 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect | |
| 80 | - | modernc.org/libc v1.70.0 // indirect | |
| 81 | - | modernc.org/mathutil v1.7.1 // indirect | |
| 82 | - | modernc.org/memory v1.11.0 // indirect | |
| 74 | + | modernc.org/sqlite v1.47.0 // indirect | |
| 83 | 75 | ) | |
| 84 | 76 | ||
| 85 | 77 | replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 | |
| @@ -4,7 +4,7 @@ go 1.26.1 | |||||
| 4 | 4 | ||||
| 5 | require ( | 5 | require ( | ||
| 6 | github.com/bnema/purego-cef v0.0.0-00010101000000-000000000000 | 6 | github.com/bnema/purego-cef v0.0.0-00010101000000-000000000000 | ||
| 7 | - | github.com/bnema/purego-ffmpeg v0.1.0 | 7 | + | github.com/bnema/purego-ffmpeg v0.3.0 |
| 8 | github.com/bnema/purego-sqlite v0.1.1 | 8 | github.com/bnema/purego-sqlite v0.1.1 | ||
| 9 | github.com/bnema/puregotk v0.2.2 | 9 | github.com/bnema/puregotk v0.2.2 | ||
| 10 | github.com/bnema/puregotk-webkit v0.0.16 | 10 | github.com/bnema/puregotk-webkit v0.0.16 | ||
| @@ -24,11 +24,8 @@ require ( | |||||
| 24 | golang.org/x/image v0.38.0 | 24 | golang.org/x/image v0.38.0 | ||
| 25 | golang.org/x/sys v0.42.0 | 25 | golang.org/x/sys v0.42.0 | ||
| 26 | gopkg.in/yaml.v3 v3.0.1 | 26 | gopkg.in/yaml.v3 v3.0.1 | ||
| 27 | - | modernc.org/sqlite v1.47.0 | |||
| 28 | ) | 27 | ) | ||
| 29 | 28 | ||||
| 30 | - | replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 | |||
| 31 | - | ||||
| 32 | replace github.com/bnema/purego-cef => ../purego-cef | 29 | replace github.com/bnema/purego-cef => ../purego-cef | ||
| 33 | 30 | ||||
| 34 | replace github.com/bnema/purego-ffmpeg => ../purego-ffmpeg | 31 | replace github.com/bnema/purego-ffmpeg => ../purego-ffmpeg | ||
| @@ -45,7 +42,6 @@ require ( | |||||
| 45 | github.com/clipperhouse/uax29/v2 v2.5.0 // indirect | 42 | github.com/clipperhouse/uax29/v2 v2.5.0 // indirect | ||
| 46 | github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect | 43 | github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect | ||
| 47 | github.com/davecgh/go-spew v1.1.1 // indirect | 44 | github.com/davecgh/go-spew v1.1.1 // indirect | ||
| 48 | - | github.com/dustin/go-humanize v1.0.1 // indirect | |||
| 49 | github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | 45 | github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | ||
| 50 | github.com/go-viper/mapstructure/v2 v2.5.0 // indirect | 46 | github.com/go-viper/mapstructure/v2 v2.5.0 // indirect | ||
| 51 | github.com/inconshreveable/mousetrap v1.1.0 // indirect | 47 | github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||
| @@ -58,9 +54,7 @@ require ( | |||||
| 58 | github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect | 54 | github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect | ||
| 59 | github.com/muesli/cancelreader v0.2.2 // indirect | 55 | github.com/muesli/cancelreader v0.2.2 // indirect | ||
| 60 | github.com/muesli/termenv v0.16.0 // indirect | 56 | github.com/muesli/termenv v0.16.0 // indirect | ||
| 61 | - | github.com/ncruces/go-strftime v1.0.0 // indirect | |||
| 62 | github.com/pmezard/go-difflib v1.0.0 // indirect | 57 | github.com/pmezard/go-difflib v1.0.0 // indirect | ||
| 63 | - | github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect | |||
| 64 | github.com/rivo/uniseg v0.4.7 // indirect | 58 | github.com/rivo/uniseg v0.4.7 // indirect | ||
| 65 | github.com/russross/blackfriday/v2 v2.1.0 // indirect | 59 | github.com/russross/blackfriday/v2 v2.1.0 // indirect | ||
| 66 | github.com/sagikazarmark/locafero v0.12.0 // indirect | 60 | github.com/sagikazarmark/locafero v0.12.0 // indirect | ||
| @@ -77,9 +71,7 @@ require ( | |||||
| 77 | golang.org/x/sync v0.20.0 // indirect | 71 | golang.org/x/sync v0.20.0 // indirect | ||
| 78 | golang.org/x/text v0.35.0 // indirect | 72 | golang.org/x/text v0.35.0 // indirect | ||
| 79 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect | 73 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect | ||
| 80 | - | modernc.org/libc v1.70.0 // indirect | 74 | + | modernc.org/sqlite v1.47.0 // indirect |
| 81 | - | modernc.org/mathutil v1.7.1 // indirect | |||
| 82 | - | modernc.org/memory v1.11.0 // indirect | |||
| 83 | ) | 75 | ) | ||
| 84 | 76 | ||||
| 85 | replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 | 77 | replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 | ||
M go.sum +10 -32
| @@ -6,6 +6,12 @@ github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3v | |||
| 6 | 6 | github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= | |
| 7 | 7 | github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 h1:0GaiO4102gOdp0es0MO2d0bRSvyeMw5A2D4F4WdIw0k= | |
| 8 | 8 | github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= | |
| 9 | + | github.com/bnema/purego-sqlite v0.1.1 h1:lH/F6/xxaI+LwWNHv3zof83bDJWQnib9OlNnBo/JnII= | |
| 10 | + | github.com/bnema/purego-sqlite v0.1.1/go.mod h1:nRVrkBt8dFOlSGGOOFM/ynlk34TOU1RlOvH4T9KM91s= | |
| 11 | + | github.com/bnema/puregotk v0.2.2 h1:lt9iOwOCHS0X9R4y+SK+zJsbQPGfsfPTyYTuBPWpBKM= | |
| 12 | + | github.com/bnema/puregotk v0.2.2/go.mod h1:Sl24sbCl02M/HLCNUgaYVCckkYcGOi8yxMuGuQVWsL8= | |
| 13 | + | github.com/bnema/puregotk-webkit v0.0.16 h1:fYYtRLK3N4YgYmPkHpGZT6W+Mxu4EPu5I25H8nUv9oY= | |
| 14 | + | github.com/bnema/puregotk-webkit v0.0.16/go.mod h1:5qlQ44TexU9UUyIR7PlEHmQZl3yARAWhqG+XWO5uv74= | |
| 9 | 15 | github.com/charmbracelet/bubbles v1.0.0 h1:12J8/ak/uCZEMQ6KU7pcfwceyjLlWsDLAxB5fXonfvc= | |
| 10 | 16 | github.com/charmbracelet/bubbles v1.0.0/go.mod h1:9d/Zd5GdnauMI5ivUIVisuEm3ave1XwXtD1ckyV6r3E= | |
| 11 | 17 | github.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw= | |
| @@ -49,12 +55,8 @@ github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ= | |||
| 49 | 55 | github.com/godbus/dbus/v5 v5.2.2/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= | |
| 50 | 56 | github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= | |
| 51 | 57 | github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= | |
| 52 | - | github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs= | |
| 53 | - | github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= | |
| 54 | 58 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= | |
| 55 | 59 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | |
| 56 | - | github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= | |
| 57 | - | github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= | |
| 58 | 60 | github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= | |
| 59 | 61 | github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= | |
| 60 | 62 | github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= | |
| @@ -86,8 +88,8 @@ github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc | |||
| 86 | 88 | github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= | |
| 87 | 89 | github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= | |
| 88 | 90 | github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= | |
| 89 | - | github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= | |
| 90 | - | github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= | |
| 91 | + | github.com/pelletier/go-toml/v2 v2.3.0 h1:k59bC/lIZREW0/iVaQR8nDHxVq8OVlIzYCOJf421CaM= | |
| 92 | + | github.com/pelletier/go-toml/v2 v2.3.0/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= | |
| 91 | 93 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | |
| 92 | 94 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | |
| 93 | 95 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | |
| @@ -135,10 +137,8 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= | |||
| 135 | 137 | go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= | |
| 136 | 138 | golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= | |
| 137 | 139 | golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= | |
| 138 | - | golang.org/x/image v0.37.0 h1:ZiRjArKI8GwxZOoEtUfhrBtaCN+4b/7709dlT6SSnQA= | |
| 139 | - | golang.org/x/image v0.37.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY= | |
| 140 | - | golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= | |
| 141 | - | golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= | |
| 140 | + | golang.org/x/image v0.38.0 h1:5l+q+Y9JDC7mBOMjo4/aPhMDcxEptsX+Tt3GgRQRPuE= | |
| 141 | + | golang.org/x/image v0.38.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY= | |
| 142 | 142 | golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= | |
| 143 | 143 | golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= | |
| 144 | 144 | golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | |
| @@ -149,38 +149,16 @@ golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= | |||
| 149 | 149 | golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= | |
| 150 | 150 | golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= | |
| 151 | 151 | golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= | |
| 152 | - | golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= | |
| 153 | - | golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= | |
| 154 | 152 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |
| 155 | 153 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= | |
| 156 | 154 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |
| 157 | 155 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | |
| 158 | 156 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | |
| 159 | - | modernc.org/cc/v4 v4.27.1 h1:9W30zRlYrefrDV2JE2O8VDtJ1yPGownxciz5rrbQZis= | |
| 160 | - | modernc.org/cc/v4 v4.27.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0= | |
| 161 | - | modernc.org/ccgo/v4 v4.32.0 h1:hjG66bI/kqIPX1b2yT6fr/jt+QedtP2fqojG2VrFuVw= | |
| 162 | - | modernc.org/ccgo/v4 v4.32.0/go.mod h1:6F08EBCx5uQc38kMGl+0Nm0oWczoo1c7cgpzEry7Uc0= | |
| 163 | - | modernc.org/fileutil v1.4.0 h1:j6ZzNTftVS054gi281TyLjHPp6CPHr2KCxEXjEbD6SM= | |
| 164 | - | modernc.org/fileutil v1.4.0/go.mod h1:EqdKFDxiByqxLk8ozOxObDSfcVOv/54xDs/DUHdvCUU= | |
| 165 | - | modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI= | |
| 166 | - | modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito= | |
| 167 | - | modernc.org/gc/v3 v3.1.2 h1:ZtDCnhonXSZexk/AYsegNRV1lJGgaNZJuKjJSWKyEqo= | |
| 168 | - | modernc.org/gc/v3 v3.1.2/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY= | |
| 169 | - | modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= | |
| 170 | - | modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= | |
| 171 | 157 | modernc.org/libc v1.70.0 h1:U58NawXqXbgpZ/dcdS9kMshu08aiA6b7gusEusqzNkw= | |
| 172 | 158 | modernc.org/libc v1.70.0/go.mod h1:OVmxFGP1CI/Z4L3E0Q3Mf1PDE0BucwMkcXjjLntvHJo= | |
| 173 | 159 | modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= | |
| 174 | 160 | modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= | |
| 175 | 161 | modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI= | |
| 176 | 162 | modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= | |
| 177 | - | modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8= | |
| 178 | - | modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= | |
| 179 | - | modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= | |
| 180 | - | modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= | |
| 181 | 163 | modernc.org/sqlite v1.47.0 h1:R1XyaNpoW4Et9yly+I2EeX7pBza/w+pmYee/0HJDyKk= | |
| 182 | 164 | modernc.org/sqlite v1.47.0/go.mod h1:hWjRO6Tj/5Ik8ieqxQybiEOUXy0NJFNp2tpvVpKlvig= | |
| 183 | - | modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= | |
| 184 | - | modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= | |
| 185 | - | modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= | |
| 186 | - | modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= | |
| @@ -6,6 +6,12 @@ github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3v | |||||
| 6 | github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= | 6 | github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= | ||
| 7 | github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 h1:0GaiO4102gOdp0es0MO2d0bRSvyeMw5A2D4F4WdIw0k= | 7 | github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704 h1:0GaiO4102gOdp0es0MO2d0bRSvyeMw5A2D4F4WdIw0k= | ||
| 8 | github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= | 8 | github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= | ||
| 9 | + | github.com/bnema/purego-sqlite v0.1.1 h1:lH/F6/xxaI+LwWNHv3zof83bDJWQnib9OlNnBo/JnII= | |||
| 10 | + | github.com/bnema/purego-sqlite v0.1.1/go.mod h1:nRVrkBt8dFOlSGGOOFM/ynlk34TOU1RlOvH4T9KM91s= | |||
| 11 | + | github.com/bnema/puregotk v0.2.2 h1:lt9iOwOCHS0X9R4y+SK+zJsbQPGfsfPTyYTuBPWpBKM= | |||
| 12 | + | github.com/bnema/puregotk v0.2.2/go.mod h1:Sl24sbCl02M/HLCNUgaYVCckkYcGOi8yxMuGuQVWsL8= | |||
| 13 | + | github.com/bnema/puregotk-webkit v0.0.16 h1:fYYtRLK3N4YgYmPkHpGZT6W+Mxu4EPu5I25H8nUv9oY= | |||
| 14 | + | github.com/bnema/puregotk-webkit v0.0.16/go.mod h1:5qlQ44TexU9UUyIR7PlEHmQZl3yARAWhqG+XWO5uv74= | |||
| 9 | github.com/charmbracelet/bubbles v1.0.0 h1:12J8/ak/uCZEMQ6KU7pcfwceyjLlWsDLAxB5fXonfvc= | 15 | github.com/charmbracelet/bubbles v1.0.0 h1:12J8/ak/uCZEMQ6KU7pcfwceyjLlWsDLAxB5fXonfvc= | ||
| 10 | github.com/charmbracelet/bubbles v1.0.0/go.mod h1:9d/Zd5GdnauMI5ivUIVisuEm3ave1XwXtD1ckyV6r3E= | 16 | github.com/charmbracelet/bubbles v1.0.0/go.mod h1:9d/Zd5GdnauMI5ivUIVisuEm3ave1XwXtD1ckyV6r3E= | ||
| 11 | github.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw= | 17 | github.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw= | ||
| @@ -49,12 +55,8 @@ github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ= | |||||
| 49 | github.com/godbus/dbus/v5 v5.2.2/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= | 55 | github.com/godbus/dbus/v5 v5.2.2/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= | ||
| 50 | github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= | 56 | github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= | ||
| 51 | github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= | 57 | github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= | ||
| 52 | - | github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs= | |||
| 53 | - | github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= | |||
| 54 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= | 58 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= | ||
| 55 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | 59 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | ||
| 56 | - | github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= | |||
| 57 | - | github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= | |||
| 58 | github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= | 60 | github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= | ||
| 59 | github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= | 61 | github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= | ||
| 60 | github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= | 62 | github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= | ||
| @@ -86,8 +88,8 @@ github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc | |||||
| 86 | github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= | 88 | github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= | ||
| 87 | github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= | 89 | github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= | ||
| 88 | github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= | 90 | github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= | ||
| 89 | - | github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= | 91 | + | github.com/pelletier/go-toml/v2 v2.3.0 h1:k59bC/lIZREW0/iVaQR8nDHxVq8OVlIzYCOJf421CaM= |
| 90 | - | github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= | 92 | + | github.com/pelletier/go-toml/v2 v2.3.0/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= |
| 91 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | 93 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||
| 92 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | 94 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||
| 93 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | 95 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||
| @@ -135,10 +137,8 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= | |||||
| 135 | go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= | 137 | go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= | ||
| 136 | golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= | 138 | golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= | ||
| 137 | golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= | 139 | golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= | ||
| 138 | - | golang.org/x/image v0.37.0 h1:ZiRjArKI8GwxZOoEtUfhrBtaCN+4b/7709dlT6SSnQA= | 140 | + | golang.org/x/image v0.38.0 h1:5l+q+Y9JDC7mBOMjo4/aPhMDcxEptsX+Tt3GgRQRPuE= |
| 139 | - | golang.org/x/image v0.37.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY= | 141 | + | golang.org/x/image v0.38.0/go.mod h1:/3f6vaXC+6CEanU4KJxbcUZyEePbyKbaLoDOe4ehFYY= |
| 140 | - | golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= | |||
| 141 | - | golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= | |||
| 142 | golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= | 142 | golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= | ||
| 143 | golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= | 143 | golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= | ||
| 144 | golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | 144 | golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||
| @@ -149,38 +149,16 @@ golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= | |||||
| 149 | golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= | 149 | golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= | ||
| 150 | golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= | 150 | golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= | ||
| 151 | golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= | 151 | golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= | ||
| 152 | - | golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= | |||
| 153 | - | golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= | |||
| 154 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | 152 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||
| 155 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= | 153 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= | ||
| 156 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | 154 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||
| 157 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | 155 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||
| 158 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | 156 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||
| 159 | - | modernc.org/cc/v4 v4.27.1 h1:9W30zRlYrefrDV2JE2O8VDtJ1yPGownxciz5rrbQZis= | |||
| 160 | - | modernc.org/cc/v4 v4.27.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0= | |||
| 161 | - | modernc.org/ccgo/v4 v4.32.0 h1:hjG66bI/kqIPX1b2yT6fr/jt+QedtP2fqojG2VrFuVw= | |||
| 162 | - | modernc.org/ccgo/v4 v4.32.0/go.mod h1:6F08EBCx5uQc38kMGl+0Nm0oWczoo1c7cgpzEry7Uc0= | |||
| 163 | - | modernc.org/fileutil v1.4.0 h1:j6ZzNTftVS054gi281TyLjHPp6CPHr2KCxEXjEbD6SM= | |||
| 164 | - | modernc.org/fileutil v1.4.0/go.mod h1:EqdKFDxiByqxLk8ozOxObDSfcVOv/54xDs/DUHdvCUU= | |||
| 165 | - | modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI= | |||
| 166 | - | modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito= | |||
| 167 | - | modernc.org/gc/v3 v3.1.2 h1:ZtDCnhonXSZexk/AYsegNRV1lJGgaNZJuKjJSWKyEqo= | |||
| 168 | - | modernc.org/gc/v3 v3.1.2/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY= | |||
| 169 | - | modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= | |||
| 170 | - | modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= | |||
| 171 | modernc.org/libc v1.70.0 h1:U58NawXqXbgpZ/dcdS9kMshu08aiA6b7gusEusqzNkw= | 157 | modernc.org/libc v1.70.0 h1:U58NawXqXbgpZ/dcdS9kMshu08aiA6b7gusEusqzNkw= | ||
| 172 | modernc.org/libc v1.70.0/go.mod h1:OVmxFGP1CI/Z4L3E0Q3Mf1PDE0BucwMkcXjjLntvHJo= | 158 | modernc.org/libc v1.70.0/go.mod h1:OVmxFGP1CI/Z4L3E0Q3Mf1PDE0BucwMkcXjjLntvHJo= | ||
| 173 | modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= | 159 | modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= | ||
| 174 | modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= | 160 | modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= | ||
| 175 | modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI= | 161 | modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI= | ||
| 176 | modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= | 162 | modernc.org/memory v1.11.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= | ||
| 177 | - | modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8= | |||
| 178 | - | modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= | |||
| 179 | - | modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= | |||
| 180 | - | modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= | |||
| 181 | modernc.org/sqlite v1.47.0 h1:R1XyaNpoW4Et9yly+I2EeX7pBza/w+pmYee/0HJDyKk= | 163 | modernc.org/sqlite v1.47.0 h1:R1XyaNpoW4Et9yly+I2EeX7pBza/w+pmYee/0HJDyKk= | ||
| 182 | modernc.org/sqlite v1.47.0/go.mod h1:hWjRO6Tj/5Ik8ieqxQybiEOUXy0NJFNp2tpvVpKlvig= | 164 | modernc.org/sqlite v1.47.0/go.mod h1:hWjRO6Tj/5Ik8ieqxQybiEOUXy0NJFNp2tpvVpKlvig= | ||
| 183 | - | modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= | |||
| 184 | - | modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= | |||
| 185 | - | modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= | |||
| 186 | - | modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= | |||
M internal/infrastructure/transcoder/audio.go +4 -4
| @@ -74,7 +74,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||
| 74 | 74 | } | |
| 75 | 75 | ||
| 76 | 76 | // Opus always works with float planar samples. | |
| 77 | - | ffmpeg.CodecCtxSetSampleFmt(encCtx, int32(ffmpeg.SampleFormatSampleFmtFltp)) | |
| 77 | + | ffmpeg.CodecCtxSetSampleFmt(encCtx, int32(ffmpeg.SampleFmtFltp)) | |
| 78 | 78 | ffmpeg.CodecCtxSetSampleRate(encCtx, opusSampleRate) | |
| 79 | 79 | codecCtxSetBitRate(encCtx, opusBitrate) | |
| 80 | 80 | ||
| @@ -116,7 +116,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||
| 116 | 116 | ||
| 117 | 117 | inSampleRate := ffmpeg.CodecCtxSampleRate(decCtx) | |
| 118 | 118 | inSampleFmt := ffmpeg.CodecCtxSampleFmt(decCtx) | |
| 119 | - | needResample := inSampleRate != opusSampleRate || inSampleFmt != int32(ffmpeg.SampleFormatSampleFmtFltp) | |
| 119 | + | needResample := inSampleRate != opusSampleRate || inSampleFmt != int32(ffmpeg.SampleFmtFltp) | |
| 120 | 120 | ||
| 121 | 121 | if needResample { | |
| 122 | 122 | swr = ffmpeg.SwrAlloc() | |
| @@ -130,7 +130,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||
| 130 | 130 | ffmpeg.AVOptSetInt(swr, "in_sample_rate", int64(inSampleRate), 0) | |
| 131 | 131 | ffmpeg.AVOptSetInt(swr, "out_sample_rate", int64(opusSampleRate), 0) | |
| 132 | 132 | ffmpeg.AVOptSet(swr, "in_sample_fmt", ffmpeg.GetSampleFmtName(inSampleFmt), 0) | |
| 133 | - | ffmpeg.AVOptSet(swr, "out_sample_fmt", ffmpeg.GetSampleFmtName(int32(ffmpeg.SampleFormatSampleFmtFltp)), 0) | |
| 133 | + | ffmpeg.AVOptSet(swr, "out_sample_fmt", ffmpeg.GetSampleFmtName(int32(ffmpeg.SampleFmtFltp)), 0) | |
| 134 | 134 | ||
| 135 | 135 | // Modern FFmpeg (8.x) requires explicit channel layout configuration | |
| 136 | 136 | // on the SwrContext. Without it, swr_init may succeed but the resampler | |
| @@ -156,7 +156,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||
| 156 | 156 | return nil, errors.New("failed to allocate resampled frame") | |
| 157 | 157 | } | |
| 158 | 158 | ||
| 159 | - | frameSetFormat(resampledFrame, int32(ffmpeg.SampleFormatSampleFmtFltp)) | |
| 159 | + | frameSetFormat(resampledFrame, int32(ffmpeg.SampleFmtFltp)) | |
| 160 | 160 | frameSetSampleRate(resampledFrame, opusSampleRate) | |
| 161 | 161 | frameSetNbSamples(resampledFrame, opusFrameSize) | |
| 162 | 162 | // Copy channel layout from decoder to the resampled frame. | |
| @@ -74,7 +74,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||||
| 74 | } | 74 | } | ||
| 75 | 75 | ||||
| 76 | // Opus always works with float planar samples. | 76 | // Opus always works with float planar samples. | ||
| 77 | - | ffmpeg.CodecCtxSetSampleFmt(encCtx, int32(ffmpeg.SampleFormatSampleFmtFltp)) | 77 | + | ffmpeg.CodecCtxSetSampleFmt(encCtx, int32(ffmpeg.SampleFmtFltp)) |
| 78 | ffmpeg.CodecCtxSetSampleRate(encCtx, opusSampleRate) | 78 | ffmpeg.CodecCtxSetSampleRate(encCtx, opusSampleRate) | ||
| 79 | codecCtxSetBitRate(encCtx, opusBitrate) | 79 | codecCtxSetBitRate(encCtx, opusBitrate) | ||
| 80 | 80 | ||||
| @@ -116,7 +116,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||||
| 116 | 116 | ||||
| 117 | inSampleRate := ffmpeg.CodecCtxSampleRate(decCtx) | 117 | inSampleRate := ffmpeg.CodecCtxSampleRate(decCtx) | ||
| 118 | inSampleFmt := ffmpeg.CodecCtxSampleFmt(decCtx) | 118 | inSampleFmt := ffmpeg.CodecCtxSampleFmt(decCtx) | ||
| 119 | - | needResample := inSampleRate != opusSampleRate || inSampleFmt != int32(ffmpeg.SampleFormatSampleFmtFltp) | 119 | + | needResample := inSampleRate != opusSampleRate || inSampleFmt != int32(ffmpeg.SampleFmtFltp) |
| 120 | 120 | ||||
| 121 | if needResample { | 121 | if needResample { | ||
| 122 | swr = ffmpeg.SwrAlloc() | 122 | swr = ffmpeg.SwrAlloc() | ||
| @@ -130,7 +130,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||||
| 130 | ffmpeg.AVOptSetInt(swr, "in_sample_rate", int64(inSampleRate), 0) | 130 | ffmpeg.AVOptSetInt(swr, "in_sample_rate", int64(inSampleRate), 0) | ||
| 131 | ffmpeg.AVOptSetInt(swr, "out_sample_rate", int64(opusSampleRate), 0) | 131 | ffmpeg.AVOptSetInt(swr, "out_sample_rate", int64(opusSampleRate), 0) | ||
| 132 | ffmpeg.AVOptSet(swr, "in_sample_fmt", ffmpeg.GetSampleFmtName(inSampleFmt), 0) | 132 | ffmpeg.AVOptSet(swr, "in_sample_fmt", ffmpeg.GetSampleFmtName(inSampleFmt), 0) | ||
| 133 | - | ffmpeg.AVOptSet(swr, "out_sample_fmt", ffmpeg.GetSampleFmtName(int32(ffmpeg.SampleFormatSampleFmtFltp)), 0) | 133 | + | ffmpeg.AVOptSet(swr, "out_sample_fmt", ffmpeg.GetSampleFmtName(int32(ffmpeg.SampleFmtFltp)), 0) |
| 134 | 134 | ||||
| 135 | // Modern FFmpeg (8.x) requires explicit channel layout configuration | 135 | // Modern FFmpeg (8.x) requires explicit channel layout configuration | ||
| 136 | // on the SwrContext. Without it, swr_init may succeed but the resampler | 136 | // on the SwrContext. Without it, swr_init may succeed but the resampler | ||
| @@ -156,7 +156,7 @@ func newAudioTranscoder(inCodecPar, outFmtCtx unsafe.Pointer, inStreamIdx int) ( | |||||
| 156 | return nil, errors.New("failed to allocate resampled frame") | 156 | return nil, errors.New("failed to allocate resampled frame") | ||
| 157 | } | 157 | } | ||
| 158 | 158 | ||||
| 159 | - | frameSetFormat(resampledFrame, int32(ffmpeg.SampleFormatSampleFmtFltp)) | 159 | + | frameSetFormat(resampledFrame, int32(ffmpeg.SampleFmtFltp)) |
| 160 | frameSetSampleRate(resampledFrame, opusSampleRate) | 160 | frameSetSampleRate(resampledFrame, opusSampleRate) | ||
| 161 | frameSetNbSamples(resampledFrame, opusFrameSize) | 161 | frameSetNbSamples(resampledFrame, opusFrameSize) | ||
| 162 | // Copy channel layout from decoder to the resampled frame. | 162 | // Copy channel layout from decoder to the resampled frame. | ||
M internal/infrastructure/transcoder/hwprobe.go +2 -2
| @@ -32,14 +32,14 @@ type hwProfile struct { | |||
| 32 | 32 | ||
| 33 | 33 | var vaAPIProfile = hwProfile{ | |
| 34 | 34 | api: "vaapi", | |
| 35 | - | deviceType: ffmpeg.AV_HWDEVICE_TYPE_VAAPI, | |
| 35 | + | deviceType: int32(ffmpeg.HwdeviceTypeVaapi), | |
| 36 | 36 | encoders: []string{"av1_vaapi", "vp9_vaapi", "h264_vaapi"}, | |
| 37 | 37 | decoders: []string{"h264_vaapi", "hevc_vaapi"}, | |
| 38 | 38 | } | |
| 39 | 39 | ||
| 40 | 40 | var nvencProfile = hwProfile{ | |
| 41 | 41 | api: "nvenc", | |
| 42 | - | deviceType: ffmpeg.AV_HWDEVICE_TYPE_CUDA, | |
| 42 | + | deviceType: int32(ffmpeg.HwdeviceTypeCuda), | |
| 43 | 43 | // hevc_nvenc and h264_nvenc are probed for logging/diagnostic purposes | |
| 44 | 44 | // but filtered as non-usable by isUsableEncoder (only open codecs like | |
| 45 | 45 | // AV1 and VP9 are usable in CEF's minimal build). | |
| @@ -32,14 +32,14 @@ type hwProfile struct { | |||||
| 32 | 32 | ||||
| 33 | var vaAPIProfile = hwProfile{ | 33 | var vaAPIProfile = hwProfile{ | ||
| 34 | api: "vaapi", | 34 | api: "vaapi", | ||
| 35 | - | deviceType: ffmpeg.AV_HWDEVICE_TYPE_VAAPI, | 35 | + | deviceType: int32(ffmpeg.HwdeviceTypeVaapi), |
| 36 | encoders: []string{"av1_vaapi", "vp9_vaapi", "h264_vaapi"}, | 36 | encoders: []string{"av1_vaapi", "vp9_vaapi", "h264_vaapi"}, | ||
| 37 | decoders: []string{"h264_vaapi", "hevc_vaapi"}, | 37 | decoders: []string{"h264_vaapi", "hevc_vaapi"}, | ||
| 38 | } | 38 | } | ||
| 39 | 39 | ||||
| 40 | var nvencProfile = hwProfile{ | 40 | var nvencProfile = hwProfile{ | ||
| 41 | api: "nvenc", | 41 | api: "nvenc", | ||
| 42 | - | deviceType: ffmpeg.AV_HWDEVICE_TYPE_CUDA, | 42 | + | deviceType: int32(ffmpeg.HwdeviceTypeCuda), |
| 43 | // hevc_nvenc and h264_nvenc are probed for logging/diagnostic purposes | 43 | // hevc_nvenc and h264_nvenc are probed for logging/diagnostic purposes | ||
| 44 | // but filtered as non-usable by isUsableEncoder (only open codecs like | 44 | // but filtered as non-usable by isUsableEncoder (only open codecs like | ||
| 45 | // AV1 and VP9 are usable in CEF's minimal build). | 45 | // AV1 and VP9 are usable in CEF's minimal build). | ||
M internal/infrastructure/transcoder/pipeline.go +10 -10
| @@ -591,9 +591,9 @@ func (p *pipeline) openVideoEncoder(decCtx unsafe.Pointer) (hwDeviceCtx unsafe.P | |||
| 591 | 591 | var deviceType int32 | |
| 592 | 592 | switch p.hwCaps.API { | |
| 593 | 593 | case "vaapi": | |
| 594 | - | deviceType = ffmpeg.AV_HWDEVICE_TYPE_VAAPI | |
| 594 | + | deviceType = int32(ffmpeg.HwdeviceTypeVaapi) | |
| 595 | 595 | case "nvenc": | |
| 596 | - | deviceType = ffmpeg.AV_HWDEVICE_TYPE_CUDA | |
| 596 | + | deviceType = int32(ffmpeg.HwdeviceTypeCuda) | |
| 597 | 597 | default: | |
| 598 | 598 | return nil, nil, fmt.Errorf("unknown HW API: %s", p.hwCaps.API) | |
| 599 | 599 | } | |
| @@ -660,9 +660,9 @@ func (p *pipeline) tryOpenVideoEncoder(decCtx, hwDeviceCtx unsafe.Pointer, encod | |||
| 660 | 660 | ffmpeg.CodecCtxSetTimeBase(encCtx, ffmpeg.AVRational{Num: framerate.Den, Den: framerate.Num}) | |
| 661 | 661 | ||
| 662 | 662 | if p.hwCaps.API == "vaapi" { | |
| 663 | - | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixelFormatPixFmtVaapi)) | |
| 663 | + | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixFmtVaapi)) | |
| 664 | 664 | } else { | |
| 665 | - | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixelFormatPixFmtNv12)) | |
| 665 | + | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixFmtNv12)) | |
| 666 | 666 | } | |
| 667 | 667 | ||
| 668 | 668 | gopSize := int32(framerate.Num / framerate.Den * 2) | |
| @@ -694,8 +694,8 @@ func (p *pipeline) tryOpenVideoEncoder(decCtx, hwDeviceCtx unsafe.Pointer, encod | |||
| 694 | 694 | } | |
| 695 | 695 | ||
| 696 | 696 | ffmpeg.HWFramesCtxSetInitialPoolSize(hwFramesData, 20) | |
| 697 | - | ffmpeg.HWFramesCtxSetFormat(hwFramesData, int32(ffmpeg.PixelFormatPixFmtVaapi)) | |
| 698 | - | ffmpeg.HWFramesCtxSetSWFormat(hwFramesData, int32(ffmpeg.PixelFormatPixFmtNv12)) | |
| 697 | + | ffmpeg.HWFramesCtxSetFormat(hwFramesData, int32(ffmpeg.PixFmtVaapi)) | |
| 698 | + | ffmpeg.HWFramesCtxSetSWFormat(hwFramesData, int32(ffmpeg.PixFmtNv12)) | |
| 699 | 699 | ffmpeg.HWFramesCtxSetWidth(hwFramesData, width) | |
| 700 | 700 | ffmpeg.HWFramesCtxSetHeight(hwFramesData, height) | |
| 701 | 701 | ||
| @@ -759,7 +759,7 @@ func (p *pipeline) applyQualityPreset(encCtx unsafe.Pointer, encoderName string, | |||
| 759 | 759 | ||
| 760 | 760 | // transcodeVideoPacket decodes a video packet, encodes the resulting | |
| 761 | 761 | // frames, and writes them to the output. | |
| 762 | - | func (p *pipeline) transcodeVideoPacket(pkt, frame, encPkt, decCtx, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap *ffmpeg.Stream, outVideoIdx int) error { | |
| 762 | + | func (p *pipeline) transcodeVideoPacket(pkt, frame, encPkt, decCtx, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap ffmpeg.Stream, outVideoIdx int) error { | |
| 763 | 763 | ret := ffmpeg.CodecSendPacket(decCtx, pkt) | |
| 764 | 764 | if ret < 0 { | |
| 765 | 765 | return fmt.Errorf("video decode send packet: %d", ret) | |
| @@ -784,7 +784,7 @@ func (p *pipeline) transcodeVideoPacket(pkt, frame, encPkt, decCtx, encCtx, outF | |||
| 784 | 784 | ||
| 785 | 785 | // encodeAndWriteVideoFrame sends a decoded frame to the encoder and | |
| 786 | 786 | // writes any resulting packets to the output. | |
| 787 | - | func (p *pipeline) encodeAndWriteVideoFrame(frame, encPkt, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap *ffmpeg.Stream, outVideoIdx int) error { | |
| 787 | + | func (p *pipeline) encodeAndWriteVideoFrame(frame, encPkt, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap ffmpeg.Stream, outVideoIdx int) error { | |
| 788 | 788 | encFrame := frame | |
| 789 | 789 | var cleanup func() | |
| 790 | 790 | if p.hwCaps.API == "vaapi" { | |
| @@ -824,7 +824,7 @@ func (p *pipeline) encodeAndWriteVideoFrame(frame, encPkt, encCtx, outFmtCtx uns | |||
| 824 | 824 | } | |
| 825 | 825 | ||
| 826 | 826 | func (p *pipeline) uploadVideoFrameToVAAPI(frame, encCtx unsafe.Pointer) (unsafe.Pointer, func(), error) { | |
| 827 | - | if frameFormat(frame) == int32(ffmpeg.PixelFormatPixFmtVaapi) { | |
| 827 | + | if frameFormat(frame) == int32(ffmpeg.PixFmtVaapi) { | |
| 828 | 828 | return frame, func() {}, nil | |
| 829 | 829 | } | |
| 830 | 830 | ||
| @@ -844,7 +844,7 @@ func (p *pipeline) uploadVideoFrameToVAAPI(frame, encCtx unsafe.Pointer) (unsafe | |||
| 844 | 844 | } | |
| 845 | 845 | } | |
| 846 | 846 | ||
| 847 | - | frameSetFormat(hwFrame, int32(ffmpeg.PixelFormatPixFmtVaapi)) | |
| 847 | + | frameSetFormat(hwFrame, int32(ffmpeg.PixFmtVaapi)) | |
| 848 | 848 | frameSetWidth(hwFrame, frameWidth(frame)) | |
| 849 | 849 | frameSetHeight(hwFrame, frameHeight(frame)) | |
| 850 | 850 | frameSetPts(hwFrame, framePts(frame)) | |
| @@ -591,9 +591,9 @@ func (p *pipeline) openVideoEncoder(decCtx unsafe.Pointer) (hwDeviceCtx unsafe.P | |||||
| 591 | var deviceType int32 | 591 | var deviceType int32 | ||
| 592 | switch p.hwCaps.API { | 592 | switch p.hwCaps.API { | ||
| 593 | case "vaapi": | 593 | case "vaapi": | ||
| 594 | - | deviceType = ffmpeg.AV_HWDEVICE_TYPE_VAAPI | 594 | + | deviceType = int32(ffmpeg.HwdeviceTypeVaapi) |
| 595 | case "nvenc": | 595 | case "nvenc": | ||
| 596 | - | deviceType = ffmpeg.AV_HWDEVICE_TYPE_CUDA | 596 | + | deviceType = int32(ffmpeg.HwdeviceTypeCuda) |
| 597 | default: | 597 | default: | ||
| 598 | return nil, nil, fmt.Errorf("unknown HW API: %s", p.hwCaps.API) | 598 | return nil, nil, fmt.Errorf("unknown HW API: %s", p.hwCaps.API) | ||
| 599 | } | 599 | } | ||
| @@ -660,9 +660,9 @@ func (p *pipeline) tryOpenVideoEncoder(decCtx, hwDeviceCtx unsafe.Pointer, encod | |||||
| 660 | ffmpeg.CodecCtxSetTimeBase(encCtx, ffmpeg.AVRational{Num: framerate.Den, Den: framerate.Num}) | 660 | ffmpeg.CodecCtxSetTimeBase(encCtx, ffmpeg.AVRational{Num: framerate.Den, Den: framerate.Num}) | ||
| 661 | 661 | ||||
| 662 | if p.hwCaps.API == "vaapi" { | 662 | if p.hwCaps.API == "vaapi" { | ||
| 663 | - | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixelFormatPixFmtVaapi)) | 663 | + | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixFmtVaapi)) |
| 664 | } else { | 664 | } else { | ||
| 665 | - | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixelFormatPixFmtNv12)) | 665 | + | ffmpeg.CodecCtxSetPixFmt(encCtx, int32(ffmpeg.PixFmtNv12)) |
| 666 | } | 666 | } | ||
| 667 | 667 | ||||
| 668 | gopSize := int32(framerate.Num / framerate.Den * 2) | 668 | gopSize := int32(framerate.Num / framerate.Den * 2) | ||
| @@ -694,8 +694,8 @@ func (p *pipeline) tryOpenVideoEncoder(decCtx, hwDeviceCtx unsafe.Pointer, encod | |||||
| 694 | } | 694 | } | ||
| 695 | 695 | ||||
| 696 | ffmpeg.HWFramesCtxSetInitialPoolSize(hwFramesData, 20) | 696 | ffmpeg.HWFramesCtxSetInitialPoolSize(hwFramesData, 20) | ||
| 697 | - | ffmpeg.HWFramesCtxSetFormat(hwFramesData, int32(ffmpeg.PixelFormatPixFmtVaapi)) | 697 | + | ffmpeg.HWFramesCtxSetFormat(hwFramesData, int32(ffmpeg.PixFmtVaapi)) |
| 698 | - | ffmpeg.HWFramesCtxSetSWFormat(hwFramesData, int32(ffmpeg.PixelFormatPixFmtNv12)) | 698 | + | ffmpeg.HWFramesCtxSetSWFormat(hwFramesData, int32(ffmpeg.PixFmtNv12)) |
| 699 | ffmpeg.HWFramesCtxSetWidth(hwFramesData, width) | 699 | ffmpeg.HWFramesCtxSetWidth(hwFramesData, width) | ||
| 700 | ffmpeg.HWFramesCtxSetHeight(hwFramesData, height) | 700 | ffmpeg.HWFramesCtxSetHeight(hwFramesData, height) | ||
| 701 | 701 | ||||
| @@ -759,7 +759,7 @@ func (p *pipeline) applyQualityPreset(encCtx unsafe.Pointer, encoderName string, | |||||
| 759 | 759 | ||||
| 760 | // transcodeVideoPacket decodes a video packet, encodes the resulting | 760 | // transcodeVideoPacket decodes a video packet, encodes the resulting | ||
| 761 | // frames, and writes them to the output. | 761 | // frames, and writes them to the output. | ||
| 762 | - | func (p *pipeline) transcodeVideoPacket(pkt, frame, encPkt, decCtx, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap *ffmpeg.Stream, outVideoIdx int) error { | 762 | + | func (p *pipeline) transcodeVideoPacket(pkt, frame, encPkt, decCtx, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap ffmpeg.Stream, outVideoIdx int) error { |
| 763 | ret := ffmpeg.CodecSendPacket(decCtx, pkt) | 763 | ret := ffmpeg.CodecSendPacket(decCtx, pkt) | ||
| 764 | if ret < 0 { | 764 | if ret < 0 { | ||
| 765 | return fmt.Errorf("video decode send packet: %d", ret) | 765 | return fmt.Errorf("video decode send packet: %d", ret) | ||
| @@ -784,7 +784,7 @@ func (p *pipeline) transcodeVideoPacket(pkt, frame, encPkt, decCtx, encCtx, outF | |||||
| 784 | 784 | ||||
| 785 | // encodeAndWriteVideoFrame sends a decoded frame to the encoder and | 785 | // encodeAndWriteVideoFrame sends a decoded frame to the encoder and | ||
| 786 | // writes any resulting packets to the output. | 786 | // writes any resulting packets to the output. | ||
| 787 | - | func (p *pipeline) encodeAndWriteVideoFrame(frame, encPkt, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap *ffmpeg.Stream, outVideoIdx int) error { | 787 | + | func (p *pipeline) encodeAndWriteVideoFrame(frame, encPkt, encCtx, outFmtCtx unsafe.Pointer, inStreamWrap ffmpeg.Stream, outVideoIdx int) error { |
| 788 | encFrame := frame | 788 | encFrame := frame | ||
| 789 | var cleanup func() | 789 | var cleanup func() | ||
| 790 | if p.hwCaps.API == "vaapi" { | 790 | if p.hwCaps.API == "vaapi" { | ||
| @@ -824,7 +824,7 @@ func (p *pipeline) encodeAndWriteVideoFrame(frame, encPkt, encCtx, outFmtCtx uns | |||||
| 824 | } | 824 | } | ||
| 825 | 825 | ||||
| 826 | func (p *pipeline) uploadVideoFrameToVAAPI(frame, encCtx unsafe.Pointer) (unsafe.Pointer, func(), error) { | 826 | func (p *pipeline) uploadVideoFrameToVAAPI(frame, encCtx unsafe.Pointer) (unsafe.Pointer, func(), error) { | ||
| 827 | - | if frameFormat(frame) == int32(ffmpeg.PixelFormatPixFmtVaapi) { | 827 | + | if frameFormat(frame) == int32(ffmpeg.PixFmtVaapi) { |
| 828 | return frame, func() {}, nil | 828 | return frame, func() {}, nil | ||
| 829 | } | 829 | } | ||
| 830 | 830 | ||||
| @@ -844,7 +844,7 @@ func (p *pipeline) uploadVideoFrameToVAAPI(frame, encCtx unsafe.Pointer) (unsafe | |||||
| 844 | } | 844 | } | ||
| 845 | } | 845 | } | ||
| 846 | 846 | ||||
| 847 | - | frameSetFormat(hwFrame, int32(ffmpeg.PixelFormatPixFmtVaapi)) | 847 | + | frameSetFormat(hwFrame, int32(ffmpeg.PixFmtVaapi)) |
| 848 | frameSetWidth(hwFrame, frameWidth(frame)) | 848 | frameSetWidth(hwFrame, frameWidth(frame)) | ||
| 849 | frameSetHeight(hwFrame, frameHeight(frame)) | 849 | frameSetHeight(hwFrame, frameHeight(frame)) | ||
| 850 | frameSetPts(hwFrame, framePts(frame)) | 850 | frameSetPts(hwFrame, framePts(frame)) | ||