Skip to content

Commit 8cc6c28

Browse files
committed
v0.0.33 - Use rtc::FileRotatingLogSink.
1 parent 563a96b commit 8cc6c28

15 files changed

+105
-619
lines changed

Diff for: api.c

+18-63
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,9 @@ typedef int (*__initialize_library_fptr__)(raw_rtc_constraints_t constraints);
2020
typedef void *(*__calloc_fptr__)(size_t size);
2121
typedef void (*__free_fptr__)(void *p);
2222

23-
typedef void *(*__create_default_logger_factory_fptr__)(void *fd, void *out, int level);
24-
typedef void *(*__create_default_logger_fptr__)(void *fd, void *factory, const char *scope);
25-
typedef void *(*__create_default_writer_fptr__)(void *fd, raw_default_writer_constraints_t *constraints, raw_default_writer_observer_t *cb);
26-
27-
typedef int (*__writer_open_fptr__)(void *writer, const char *path);
28-
typedef int (*__writer_write_fptr__)(void *writer, const char *message, size_t size);
29-
typedef size_t (*__writer_size_fptr__)(void *writer);
30-
typedef int (*__writer_close_fptr__)(void *writer);
23+
typedef void (*__log_info_fptr__)(const char *message);
24+
typedef void (*__log_warn_fptr__)(const char *message);
25+
typedef void (*__log_error_fptr__)(const char *message);
3126

3227
typedef void *(*__create_peer_connection_factory_fptr__)(void *fd);
3328
typedef raw_rtp_capabilities_t (*__get_rtp_sender_capabilities_fptr__)(void *factory, const char *kind);
@@ -103,14 +98,9 @@ __initialize_library_fptr__ __initialize_library__;
10398
__calloc_fptr__ __calloc__;
10499
__free_fptr__ __free__;
105100

106-
__create_default_logger_factory_fptr__ __create_default_logger_factory__;
107-
__create_default_logger_fptr__ __create_default_logger__;
108-
__create_default_writer_fptr__ __create_default_writer__;
109-
110-
__writer_open_fptr__ __writer_open__;
111-
__writer_write_fptr__ __writer_write__;
112-
__writer_size_fptr__ __writer_size__;
113-
__writer_close_fptr__ __writer_close__;
101+
__log_info_fptr__ __log_info__;
102+
__log_warn_fptr__ __log_warn__;
103+
__log_error_fptr__ __log_error__;
114104

115105
__create_peer_connection_factory_fptr__ __create_peer_connection_factory__;
116106
__get_rtp_sender_capabilities_fptr__ __get_rtp_sender_capabilities__;
@@ -182,9 +172,6 @@ __rtp_sender_get_parameters_fptr__ __rtp_sender_get_parameters__;
182172
__rtp_sender_get_stats_fptr__ __rtp_sender_get_stats__;
183173
__rtp_sender_release_fptr__ __rtp_sender_release__;
184174

185-
raw_default_writer_observer_t *__logger_writer_observer__;
186-
extern void __onloggerwriterresize__(void *target);
187-
188175
raw_peer_connection_observer_t *__peer_connection_observer__;
189176
extern void __onsignalingchange__(void *observer, const char *new_state);
190177
extern void __ondatachannel__(void *observer, void *data_channel);
@@ -224,14 +211,9 @@ int InitializeLibrary(const char *file, raw_rtc_constraints_t constraints)
224211
__calloc__ = (__calloc_fptr__)dlsym(handle, "Calloc");
225212
__free__ = (__free_fptr__)dlsym(handle, "Free");
226213

227-
__create_default_logger_factory__ = (__create_default_logger_factory_fptr__)dlsym(handle, "CreateDefaultLoggerFactory");
228-
__create_default_logger__ = (__create_default_logger_fptr__)dlsym(handle, "CreateDefaultLogger");
229-
__create_default_writer__ = (__create_default_writer_fptr__)dlsym(handle, "CreateDefaultWriter");
230-
231-
__writer_open__ = (__writer_open_fptr__)dlsym(handle, "WriterOpen");
232-
__writer_write__ = (__writer_write_fptr__)dlsym(handle, "WriterWrite");
233-
__writer_size__ = (__writer_size_fptr__)dlsym(handle, "WriterSize");
234-
__writer_close__ = (__writer_close_fptr__)dlsym(handle, "WriterClose");
214+
__log_info__ = (__log_info_fptr__)dlsym(handle, "LogInfo");
215+
__log_warn__ = (__log_warn_fptr__)dlsym(handle, "LogWarn");
216+
__log_error__ = (__log_error_fptr__)dlsym(handle, "LogError");
235217

236218
__create_peer_connection_factory__ = (__create_peer_connection_factory_fptr__)dlsym(handle, "CreatePeerConnectionFactory");
237219
__get_rtp_sender_capabilities__ = (__get_rtp_sender_capabilities_fptr__)dlsym(handle, "GetRtpSenderCapabilities");
@@ -303,9 +285,6 @@ int InitializeLibrary(const char *file, raw_rtc_constraints_t constraints)
303285
__rtp_sender_get_stats__ = (__rtp_sender_get_stats_fptr__)dlsym(handle, "RtpSenderGetStats");
304286
__rtp_sender_release__ = (__rtp_sender_release_fptr__)dlsym(handle, "RtpSenderRelease");
305287

306-
__logger_writer_observer__ = malloc(sizeof(raw_default_writer_observer_t));
307-
__logger_writer_observer__->onresize = __onloggerwriterresize__;
308-
309288
__peer_connection_observer__ = malloc(sizeof(raw_peer_connection_observer_t));
310289
__peer_connection_observer__->onsignalingchange = __onsignalingchange__;
311290
__peer_connection_observer__->ondatachannel = __ondatachannel__;
@@ -340,46 +319,22 @@ void Free(void *p)
340319
return __free__(p);
341320
}
342321

343-
void *CreateDefaultLoggerFactory(void *fd, void *out, int level)
344-
{
345-
// __debugf__(6, "===> CreateDefaultLoggerFactory()");
346-
return __create_default_logger_factory__(fd, out, level);
347-
}
348-
349-
void *CreateDefaultLogger(void *fd, void *factory, const char *scope)
350-
{
351-
// __debugf__(6, "===> CreateDefaultLogger()");
352-
return __create_default_logger__(fd, factory, scope);
353-
}
354-
355-
void *CreateDefaultWriter(void *fd, raw_default_writer_constraints_t *constraints)
356-
{
357-
// __debugf__(6, "===> CreateDefaultWriter()");
358-
return __create_default_writer__(fd, constraints, __logger_writer_observer__);
359-
}
360-
361-
int WriterOpen(void *writer, const char *path)
362-
{
363-
// __debugf__(6, "===> WriterOpen()");
364-
return __writer_open__(writer, path);
365-
}
366-
367-
int WriterWrite(void *writer, const char *message, size_t size)
322+
void LogInfo(const char *message)
368323
{
369-
// __debugf__(6, "===> WriterWrite()");
370-
return __writer_write__(writer, message, size);
324+
// __debugf__(6, "===> LogInfo(%s)", message);
325+
return __log_info__(message);
371326
}
372327

373-
size_t WriterSize(void *writer)
328+
void LogWarn(const char *message)
374329
{
375-
// __debugf__(6, "===> WriterSize()");
376-
return __writer_size__(writer);
330+
// __debugf__(6, "===> LogWarn(%s)", message);
331+
return __log_warn__(message);
377332
}
378333

379-
int WriterClose(void *writer)
334+
void LogError(const char *message)
380335
{
381-
// __debugf__(6, "===> WriterClose()");
382-
return __writer_close__(writer);
336+
// __debugf__(6, "===> LogError(%s)", message);
337+
return __log_error__(message);
383338
}
384339

385340
void *CreatePeerConnectionFactory(void *fd)

Diff for: api.go

+62-33
Original file line numberDiff line numberDiff line change
@@ -40,34 +40,39 @@ const (
4040
)
4141

4242
var (
43-
factory_ ILoggerFactory
44-
logger_ ILogger
4543
mtx_ sync.Mutex
4644
observers_ = make(map[uintptr]interface{})
4745
)
4846

4947
// RTCConstraints dictionary is used to describe a set of rtc library.
5048
type RTCConstraints struct {
5149
KeyframeInterval int64 // ms. 0: auto.
50+
Logger struct {
51+
Directory string
52+
MaxSize int64
53+
History int64
54+
}
5255
}
5356

54-
func InitializeLibrary(path string, constraints *RTCConstraints, writer *DefaultWriterConstraints) error {
57+
func InitializeLibrary(path string, constraints *RTCConstraints) error {
5558
file := C.CString(path)
56-
defer func() {
57-
C.free(unsafe.Pointer(file))
58-
}()
5959

6060
var config C.raw_rtc_constraints_t
6161
config.keyframe_interval = C.int64_t(constraints.KeyframeInterval)
62+
config.logger.directory = C.CString(constraints.Logger.Directory)
63+
config.logger.max_size = C.size_t(constraints.Logger.MaxSize)
64+
config.logger.history = C.size_t(constraints.Logger.History)
65+
66+
defer func() {
67+
C.free(unsafe.Pointer(file))
68+
C.free(unsafe.Pointer(config.logger.directory))
69+
}()
6270

6371
eno := int(C.InitializeLibrary(file, config))
6472
if eno != 0 {
65-
Errorf("Failed to initialize library: %d", eno)
73+
fmt.Printf("Failed to initialize library: %d\n", eno)
6674
return fmt.Errorf("error %d", eno)
6775
}
68-
69-
factory_ = NewDefaultLoggerFactory(writer)
70-
logger_ = factory_.NewLogger("RTC")
7176
return nil
7277
}
7378

@@ -191,26 +196,50 @@ type PeerConnectionInterface interface {
191196
// OnTrack func(track MediaStreamTrackInterface, streams ...MediaStreamInterface)
192197
}
193198

194-
//export __onloggerwriterresize__
195-
func __onloggerwriterresize__(target unsafe.Pointer) {
199+
func LogInfo(message string) {
200+
msg := C.CString(message)
196201
defer func() {
197-
if err := recover(); err != nil {
198-
logger_.Errorf("Unexpected error occurred: %v", err)
199-
debug.PrintStack()
200-
}
202+
C.free(unsafe.Pointer(msg))
201203
}()
202204

203-
dw := (*DefaultWriter)(target)
204-
if dw != nil {
205-
dw.OnResize()
206-
}
205+
C.LogInfo(msg)
206+
}
207+
208+
func LogWarn(message string) {
209+
msg := C.CString(message)
210+
defer func() {
211+
C.free(unsafe.Pointer(msg))
212+
}()
213+
214+
C.LogWarn(msg)
215+
}
216+
217+
func LogError(message string) {
218+
msg := C.CString(message)
219+
defer func() {
220+
C.free(unsafe.Pointer(msg))
221+
}()
222+
223+
C.LogError(msg)
224+
}
225+
226+
func LogInfof(format string, args ...interface{}) {
227+
LogInfo(fmt.Sprintf(format, args...))
228+
}
229+
230+
func LogWarnf(format string, args ...interface{}) {
231+
LogWarn(fmt.Sprintf(format, args...))
232+
}
233+
234+
func LogErrorf(format string, args ...interface{}) {
235+
LogError(fmt.Sprintf(format, args...))
207236
}
208237

209238
//export __onsignalingchange__
210239
func __onsignalingchange__(target unsafe.Pointer, new_state *C.char) {
211240
defer func() {
212241
if err := recover(); err != nil {
213-
logger_.Errorf("Unexpected error occurred: %v", err)
242+
LogErrorf("Unexpected error occurred: %v", err)
214243
debug.PrintStack()
215244
}
216245
}()
@@ -225,7 +254,7 @@ func __onsignalingchange__(target unsafe.Pointer, new_state *C.char) {
225254
func __ondatachannel__(target unsafe.Pointer, data_channel unsafe.Pointer) {
226255
defer func() {
227256
if err := recover(); err != nil {
228-
logger_.Errorf("Unexpected error occurred: %v", err)
257+
LogErrorf("Unexpected error occurred: %v", err)
229258
debug.PrintStack()
230259
}
231260
}()
@@ -240,7 +269,7 @@ func __ondatachannel__(target unsafe.Pointer, data_channel unsafe.Pointer) {
240269
func __onrenegotiationneeded__(target unsafe.Pointer) {
241270
defer func() {
242271
if err := recover(); err != nil {
243-
logger_.Errorf("Unexpected error occurred: %v", err)
272+
LogErrorf("Unexpected error occurred: %v", err)
244273
debug.PrintStack()
245274
}
246275
}()
@@ -255,7 +284,7 @@ func __onrenegotiationneeded__(target unsafe.Pointer) {
255284
func __onconnectionchange__(target unsafe.Pointer, new_state *C.char) {
256285
defer func() {
257286
if err := recover(); err != nil {
258-
logger_.Errorf("Unexpected error occurred: %v", err)
287+
LogErrorf("Unexpected error occurred: %v", err)
259288
debug.PrintStack()
260289
}
261290
}()
@@ -270,7 +299,7 @@ func __onconnectionchange__(target unsafe.Pointer, new_state *C.char) {
270299
func __oniceconnectionchange__(target unsafe.Pointer, new_state *C.char) {
271300
defer func() {
272301
if err := recover(); err != nil {
273-
logger_.Errorf("Unexpected error occurred: %v", err)
302+
LogErrorf("Unexpected error occurred: %v", err)
274303
debug.PrintStack()
275304
}
276305
}()
@@ -285,7 +314,7 @@ func __oniceconnectionchange__(target unsafe.Pointer, new_state *C.char) {
285314
func __onicegatheringchange__(target unsafe.Pointer, new_state *C.char) {
286315
defer func() {
287316
if err := recover(); err != nil {
288-
logger_.Errorf("Unexpected error occurred: %v", err)
317+
LogErrorf("Unexpected error occurred: %v", err)
289318
debug.PrintStack()
290319
}
291320
}()
@@ -300,7 +329,7 @@ func __onicegatheringchange__(target unsafe.Pointer, new_state *C.char) {
300329
func __onicecandidate__(target unsafe.Pointer, candidate *C.char, sdp_mid *C.char, sdp_mline_index C.int) {
301330
defer func() {
302331
if err := recover(); err != nil {
303-
logger_.Errorf("Unexpected error occurred: %v", err)
332+
LogErrorf("Unexpected error occurred: %v", err)
304333
debug.PrintStack()
305334
}
306335
}()
@@ -319,7 +348,7 @@ func __onicecandidate__(target unsafe.Pointer, candidate *C.char, sdp_mid *C.cha
319348
func __onicecandidateerror__(target unsafe.Pointer, address *C.char, port C.int, url *C.char, error_code C.int, error_text *C.char) {
320349
defer func() {
321350
if err := recover(); err != nil {
322-
logger_.Errorf("Unexpected error occurred: %v", err)
351+
LogErrorf("Unexpected error occurred: %v", err)
323352
debug.PrintStack()
324353
}
325354
}()
@@ -334,7 +363,7 @@ func __onicecandidateerror__(target unsafe.Pointer, address *C.char, port C.int,
334363
func __ontrack__(target unsafe.Pointer, transceiver unsafe.Pointer) {
335364
defer func() {
336365
if err := recover(); err != nil {
337-
logger_.Errorf("Unexpected error occurred: %v", err)
366+
LogErrorf("Unexpected error occurred: %v", err)
338367
debug.PrintStack()
339368
}
340369
}()
@@ -356,7 +385,7 @@ func __ontrack__(target unsafe.Pointer, transceiver unsafe.Pointer) {
356385
func __oncreatesessiondescriptionsuccess__(target unsafe.Pointer, typ *C.char, sdp *C.char) {
357386
defer func() {
358387
if err := recover(); err != nil {
359-
logger_.Errorf("Unexpected error occurred: %v", err)
388+
LogErrorf("Unexpected error occurred: %v", err)
360389
debug.PrintStack()
361390
}
362391
}()
@@ -375,7 +404,7 @@ func __oncreatesessiondescriptionsuccess__(target unsafe.Pointer, typ *C.char, s
375404
func __oncreatesessiondescriptionfailure__(target unsafe.Pointer, name *C.char, message *C.char) {
376405
defer func() {
377406
if err := recover(); err != nil {
378-
logger_.Errorf("Unexpected error occurred: %v", err)
407+
LogErrorf("Unexpected error occurred: %v", err)
379408
debug.PrintStack()
380409
}
381410
}()
@@ -391,7 +420,7 @@ func __oncreatesessiondescriptionfailure__(target unsafe.Pointer, name *C.char,
391420
func __onsetsessiondescriptionsuccess__(target unsafe.Pointer) {
392421
defer func() {
393422
if err := recover(); err != nil {
394-
logger_.Errorf("Unexpected error occurred: %v", err)
423+
LogErrorf("Unexpected error occurred: %v", err)
395424
debug.PrintStack()
396425
}
397426
}()
@@ -407,7 +436,7 @@ func __onsetsessiondescriptionsuccess__(target unsafe.Pointer) {
407436
func __onsetsessiondescriptionfailure__(target unsafe.Pointer, name *C.char, message *C.char) {
408437
defer func() {
409438
if err := recover(); err != nil {
410-
logger_.Errorf("Unexpected error occurred: %v", err)
439+
LogErrorf("Unexpected error occurred: %v", err)
411440
debug.PrintStack()
412441
}
413442
}()

Diff for: api.h

+3-8
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,9 @@ int InitializeLibrary(const char *file, raw_rtc_constraints_t constraints);
1414
void *Calloc(size_t size);
1515
void Free(void *p);
1616

17-
void *CreateDefaultLoggerFactory(void *fd, void *out, int level);
18-
void *CreateDefaultLogger(void *fd, void *factory, const char *scope);
19-
void *CreateDefaultWriter(void *fd, raw_default_writer_constraints_t *constraints);
20-
21-
int WriterOpen(void *writer, const char *path);
22-
int WriterWrite(void *writer, const char *message, size_t size);
23-
size_t WriterSize(void *writer);
24-
int WriterClose(void *writer);
17+
void LogInfo(const char *message);
18+
void LogWarn(const char *message);
19+
void LogError(const char *message);
2520

2621
void *CreatePeerConnectionFactory(void *fd);
2722
raw_rtp_capabilities_t GetRtpSenderCapabilities(void *factory, const char *kind);

0 commit comments

Comments
 (0)