Skip to content

Commit df83a43

Browse files
authored
Merge pull request #35 from mutablelogic/ffmpeg61
Updated logging
2 parents 5af5cc1 + 67e090a commit df83a43

File tree

4 files changed

+99
-3
lines changed

4 files changed

+99
-3
lines changed

pkg/ffmpeg/logging.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package ffmpeg
2+
3+
import (
4+
"fmt"
5+
"strings"
6+
7+
// Packages
8+
ff "github.com/mutablelogic/go-media/sys/ffmpeg61"
9+
)
10+
11+
///////////////////////////////////////////////////////////////////////////////
12+
// TYPES
13+
14+
// Logging function
15+
type LogFn func(text string)
16+
17+
///////////////////////////////////////////////////////////////////////////////
18+
// PUBLIC METHODS
19+
20+
// Set logging options, including a callback function
21+
func SetLogging(verbose bool, fn LogFn) {
22+
ff.AVUtil_log_set_level(ff.AV_LOG_INFO)
23+
if !verbose {
24+
ff.AVUtil_log_set_level(ff.AV_LOG_ERROR)
25+
}
26+
if fn != nil {
27+
ff.AVUtil_log_set_callback(func(level ff.AVLog, message string, userInfo any) {
28+
fn(fmt.Sprintf("[%v] %v", level, strings.TrimSpace(message)))
29+
})
30+
} else {
31+
ff.AVUtil_log_set_callback(nil)
32+
}
33+
}

pkg/ffmpeg/logging_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package ffmpeg_test
2+
3+
import (
4+
"testing"
5+
6+
// Packages
7+
ffmpeg "github.com/mutablelogic/go-media/pkg/ffmpeg"
8+
ff "github.com/mutablelogic/go-media/sys/ffmpeg61"
9+
)
10+
11+
func Test_logging_001(t *testing.T) {
12+
// Set logging
13+
ffmpeg.SetLogging(true, func(v string) {
14+
t.Log(v)
15+
})
16+
17+
ff.AVUtil_log(nil, ff.AV_LOG_INFO, "INFO test")
18+
ff.AVUtil_log(nil, ff.AV_LOG_WARNING, "WARN test")
19+
ff.AVUtil_log(nil, ff.AV_LOG_ERROR, "ERROR test")
20+
}
21+
22+
func Test_logging_002(t *testing.T) {
23+
// Set logging
24+
ffmpeg.SetLogging(false, func(v string) {
25+
t.Log(v)
26+
})
27+
28+
ff.AVUtil_log(nil, ff.AV_LOG_INFO, "INFO test")
29+
ff.AVUtil_log(nil, ff.AV_LOG_WARNING, "WARN test")
30+
ff.AVUtil_log(nil, ff.AV_LOG_ERROR, "ERROR test")
31+
}

pkg/ffmpeg/resampler.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,17 +146,22 @@ func (r *resampler) Frame(src *Frame) (*Frame, error) {
146146
////////////////////////////////////////////////////////////////////////////////
147147
// PRIVATE METHODS
148148

149-
//func swrConvertFrame_(ctx *ff.SWRContext, src, dest *ff.AVFrame) error {
150-
// return ff.SWResample_convert_frame(ctx, src, dest)
151-
//}
149+
func swrConvertFrame(ctx *ff.SWRContext, src, dest *ff.AVFrame) error {
150+
return ff.SWResample_convert_frame(ctx, src, dest)
151+
}
152152

153+
/*
153154
func swrConvertFrame(ctx *ff.SWRContext, src, dest *ff.AVFrame) error {
155+
fmt.Println("swrConvertFrame", src, "=>", dest)
156+
fmt.Println("swrConvertFrame", ff.AVUtil_samples_frame(src), "=>", ff.AVUtil_samples_frame(dest))
157+
154158
_, err := ff.SWResample_convert(ctx, ff.AVUtil_samples_frame(dest), ff.AVUtil_samples_frame(src))
155159
if err != nil {
156160
return err
157161
}
158162
return nil
159163
}
164+
*/
160165

161166
func newResampler(dest, src *Frame) (*ff.SWRContext, error) {
162167
// Create a new resampler

sys/ffmpeg61/avutil_log.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,33 @@ const (
6060

6161
var cbLog AVLogFunc
6262

63+
////////////////////////////////////////////////////////////////////////////////
64+
// STRINGIFY
65+
66+
func (v AVLog) String() string {
67+
switch v {
68+
case AV_LOG_QUIET:
69+
return "QUIET"
70+
case AV_LOG_PANIC:
71+
return "PANIC"
72+
case AV_LOG_FATAL:
73+
return "FATAL"
74+
case AV_LOG_ERROR:
75+
return "ERROR"
76+
case AV_LOG_WARNING:
77+
return "WARN"
78+
case AV_LOG_INFO:
79+
return "INFO"
80+
case AV_LOG_VERBOSE:
81+
return "VERBOSE"
82+
case AV_LOG_DEBUG:
83+
return "DEBUG"
84+
case AV_LOG_TRACE:
85+
return "TRACE"
86+
}
87+
return "[?? Invalid AVLog value]"
88+
}
89+
6390
////////////////////////////////////////////////////////////////////////////////
6491
// BINDINGS
6592

0 commit comments

Comments
 (0)