mirror of
https://github.com/qrtc/ffmpeg-dev-go.git
synced 2025-10-21 06:30:24 +08:00
2023-10-19 14:31:46 CST W42D4
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user