@@ -67,9 +67,13 @@ void buffer_free(buffer_t *buf) {
67
67
void msg_callback (int level, const char *fmt, va_list va, void *data) {
68
68
if (level > log_level) // 6 for verbose
69
69
return ;
70
- printf (" libass: " );
71
- vprintf (fmt, va);
72
- printf (" \n " );
70
+
71
+ const int ERR_LEVEL = 1 ;
72
+ FILE* stream = level <= ERR_LEVEL ? stderr : stdout;
73
+
74
+ fprintf (stream, " libass: " );
75
+ vfprintf (stream, fmt, va);
76
+ fprintf (stream, " \n " );
73
77
}
74
78
75
79
const float MIN_UINT8_CAST = 0.9 / 255 ;
@@ -112,15 +116,15 @@ class SubtitleOctopus {
112
116
void initLibrary (int frame_w, int frame_h) {
113
117
ass_library = ass_library_init ();
114
118
if (!ass_library) {
115
- printf ( " ass_library_init failed!\n " );
119
+ fprintf (stderr, " ass_library_init failed!\n " );
116
120
exit (2 );
117
121
}
118
122
119
123
ass_set_message_cb (ass_library, msg_callback, NULL );
120
124
121
125
ass_renderer = ass_renderer_init (ass_library);
122
126
if (!ass_renderer) {
123
- printf ( " ass_renderer_init failed!\n " );
127
+ fprintf (stderr, " ass_renderer_init failed!\n " );
124
128
exit (3 );
125
129
}
126
130
@@ -135,7 +139,7 @@ class SubtitleOctopus {
135
139
removeTrack ();
136
140
track = ass_read_file (ass_library, subfile, NULL );
137
141
if (!track) {
138
- printf ( " Failed to start a track\n " );
142
+ fprintf (stderr, " Failed to start a track\n " );
139
143
exit (4 );
140
144
}
141
145
}
@@ -144,7 +148,7 @@ class SubtitleOctopus {
144
148
removeTrack ();
145
149
track = ass_read_memory (ass_library, buf, (size_t )bufsize, NULL );
146
150
if (!track) {
147
- printf ( " Failed to start a track\n " );
151
+ fprintf (stderr, " Failed to start a track\n " );
148
152
exit (4 );
149
153
}
150
154
}
@@ -266,7 +270,7 @@ class SubtitleOctopus {
266
270
// make float buffer for blending
267
271
float * buf = (float *)buffer_resize (&m_blend, sizeof (float ) * width * height * 4 , 0 );
268
272
if (buf == NULL ) {
269
- printf ( " libass: error : cannot allocate buffer for blending\n " );
273
+ fprintf (stderr, " libass: cannot allocate buffer for blending\n " );
270
274
return &m_blendResult;
271
275
}
272
276
memset (buf, 0 , sizeof (float ) * width * height * 4 );
0 commit comments