gotosocial/vendor/github.com/tetratelabs/wazero/internal/wasip1/sock.go
kim cde2fb6244
[feature] support processing of (many) more media types (#3090)
* initial work replacing our media decoding / encoding pipeline with ffprobe + ffmpeg

* specify the video codec to use when generating static image from emoji

* update go-storage library (fixes incompatibility after updating go-iotools)

* maintain image aspect ratio when generating a thumbnail for it

* update readme to show go-ffmpreg

* fix a bunch of media tests, move filesize checking to callers of media manager for more flexibility

* remove extra debug from error message

* fix up incorrect function signatures

* update PutFile to just use regular file copy, as changes are file is on separate partition

* fix remaining tests, remove some unneeded tests now we're working with ffmpeg/ffprobe

* update more tests, add more code comments

* add utilities to generate processed emoji / media outputs

* fix remaining tests

* add test for opus media file, add license header to utility cmds

* limit the number of concurrently available ffmpeg / ffprobe instances

* reduce number of instances

* further reduce number of instances

* fix envparsing test with configuration variables

* update docs and configuration with new media-{local,remote}-max-size variables
2024-07-12 09:39:47 +00:00

72 lines
1.9 KiB
Go

package wasip1
import "strconv"
const (
SockAcceptName = "sock_accept"
SockRecvName = "sock_recv"
SockSendName = "sock_send"
SockShutdownName = "sock_shutdown"
)
// SD Flags indicate which channels on a socket to shut down.
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-sdflags-flagsu8
const (
// SD_RD disables further receive operations.
SD_RD uint8 = 1 << iota //nolint
// SD_WR disables further send operations.
SD_WR
)
func SdFlagsString(sdflags int) string {
return flagsString(sdflagNames[:], sdflags)
}
var sdflagNames = [...]string{
"RD",
"WR",
}
// SI Flags are flags provided to sock_send. As there are currently no flags defined, it must be set to zero.
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-siflags-u16
func SiFlagsString(siflags int) string {
if siflags == 0 {
return ""
}
return strconv.Itoa(siflags)
}
// RI Flags are flags provided to sock_recv.
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-riflags-flagsu16
const (
// RI_RECV_PEEK returns the message without removing it from the socket's receive queue
RI_RECV_PEEK uint8 = 1 << iota //nolint
// RI_RECV_WAITALL on byte-stream sockets, block until the full amount of data can be returned.
RI_RECV_WAITALL
)
func RiFlagsString(riflags int) string {
return flagsString(riflagNames[:], riflags)
}
var riflagNames = [...]string{
"RECV_PEEK",
"RECV_WAITALL",
}
// RO Flags are flags returned by sock_recv.
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-roflags-flagsu16
const (
// RO_RECV_DATA_TRUNCATED is returned by sock_recv when message data has been truncated.
RO_RECV_DATA_TRUNCATED uint8 = 1 << iota //nolint
)
func RoFlagsString(roflags int) string {
return flagsString(roflagNames[:], roflags)
}
var roflagNames = [...]string{
"RECV_DATA_TRUNCATED",
}