2023-10-19 14:31:46 CST W42D4

This commit is contained in:
aggresss
2023-10-19 14:31:46 +08:00
parent 762aa14362
commit 0f95831c39
52 changed files with 9140 additions and 4324 deletions

View File

@@ -16,26 +16,36 @@ const (
AV_DICT_MULTIKEY = C.AV_DICT_MULTIKEY
)
type AvDictionaryEntry C.struct_AVDictionaryEntry
type AVDictionaryEntry C.struct_AVDictionaryEntry
// Custom: GetKey gets `AVDictionaryEntry.key` value.
func (e *AVDictionaryEntry) GetKey() string {
return C.GoString(e.key)
}
// Custom: GetValue gets `AVDictionaryEntry.value` value.
func (e *AVDictionaryEntry) GetValue() string {
return C.GoString(e.value)
}
// AvDictionary gets a dictionary entry with matching key.
type AvDictionary C.struct_AVDictionary
type AVDictionary C.struct_AVDictionary
// AvDictGet
func AvDictGet(m *AvDictionary, key string, prev *AvDictionaryEntry, flags int32) *AvDictionaryEntry {
func AvDictGet(m *AVDictionary, key string, prev *AVDictionaryEntry, flags int32) *AVDictionaryEntry {
keyPtr, keyFunc := StringCasting(key)
defer keyFunc()
return (*AvDictionaryEntry)(C.av_dict_get((*C.struct_AVDictionary)(m),
return (*AVDictionaryEntry)(C.av_dict_get((*C.struct_AVDictionary)(m),
(*C.char)(keyPtr), (*C.struct_AVDictionaryEntry)(prev), (C.int)(flags)))
}
// AvDictCount gets number of entries in dictionary.
func AvDictCount(m *AvDictionary) int32 {
func AvDictCount(m *AVDictionary) int32 {
return (int32)(C.av_dict_count((*C.struct_AVDictionary)(m)))
}
// AvDictSet sets the given entry in *pm, overwriting an existing entry.
func AvDictSet(pm **AvDictionary, key, value string, flags int32) int32 {
func AvDictSet(pm **AVDictionary, key, value string, flags int32) int32 {
keyPtr, keyFunc := StringCasting(key)
defer keyFunc()
valuePtr, valueFunc := StringCasting(value)
@@ -45,7 +55,7 @@ func AvDictSet(pm **AvDictionary, key, value string, flags int32) int32 {
}
// AvDictSetInt sets the given entry in *pm, overwriting an existing entry.
func AvDictSetInt(pm **AvDictionary, key string, value int64, flags int32) int32 {
func AvDictSetInt(pm **AVDictionary, key string, value int64, flags int32) int32 {
keyPtr, keyFunc := StringCasting(key)
defer keyFunc()
return (int32)(C.av_dict_set_int((**C.struct_AVDictionary)(unsafe.Pointer(pm)),
@@ -53,7 +63,7 @@ func AvDictSetInt(pm **AvDictionary, key string, value int64, flags int32) int32
}
// AvDictParseString parses the key/value pairs list and add the parsed entries to a dictionary.
func AvDictParseString(pm **AvDictionary, str, keyValSep, pairsSep string, flags int32) int32 {
func AvDictParseString(pm **AVDictionary, str, keyValSep, pairsSep string, flags int32) int32 {
strPtr, strFunc := StringCasting(str)
defer strFunc()
keyValSepPtr, keyValSepFunc := StringCasting(keyValSep)
@@ -65,18 +75,18 @@ func AvDictParseString(pm **AvDictionary, str, keyValSep, pairsSep string, flags
}
// AvDictCopy copies entries from one AVDictionary struct into another.
func AvDictCopy(dst **AvDictionary, src *AvDictionary, flags int32) int32 {
func AvDictCopy(dst **AVDictionary, src *AVDictionary, flags int32) int32 {
return (int32)(C.av_dict_copy((**C.struct_AVDictionary)(unsafe.Pointer(dst)),
(*C.struct_AVDictionary)(src), (C.int)(flags)))
}
// AvDictFree frees all the memory allocated for an AVDictionary struct and all keys and values.
func AvDictFree(m **AvDictionary) {
func AvDictFree(m **AVDictionary) {
C.av_dict_free((**C.struct_AVDictionary)(unsafe.Pointer(m)))
}
// AvDictGetString get dictionary entries as a string.
func AvDictGetString(m *AvDictionary, buffer **int8, keyValSep, pairsSep string) int32 {
func AvDictGetString(m *AVDictionary, buffer **int8, keyValSep, pairsSep string) int32 {
keyValSepPtr, keyValSepFunc := StringCasting(keyValSep)
defer keyValSepFunc()
pairsSepPtr, pairsSepFunc := StringCasting(pairsSep)