LameXP/etc/Patches/mpg123-FlushProgressFix.V2.diff
2023-12-12 15:54:46 +01:00

50 lines
1.5 KiB
Diff

diff --git "a/src/common.c" "b/src/common.c"
index 89b6680..738c194 100644
--- "a/src/common.c"
+++ "b/src/common.c"
@@ -93,6 +93,7 @@ void print_header(mpg123_handle *mh)
default: fprintf(stderr, "???");
}
fprintf(stderr, " Extension value: %d\n", i.flags & MPG123_PRIVATE ? 1 : 0);
+ fflush(stderr);
print_stat_disabled=FALSE;
}
@@ -116,6 +117,7 @@ void print_header_compact(mpg123_handle *mh)
default: fprintf(stderr, "???");
}
fprintf(stderr," %ld %s\n", i.rate, smodes[i.mode]);
+ fflush(stderr);
print_stat_disabled=FALSE;
}
@@ -161,8 +163,9 @@ void print_buf(const char* prefix, out123_handle *ao)
return;
tim = (double)(buffsize/framesize)/rate;
settle_time(tim, times, &timesep);
- fprintf( stderr, "\r%s[%02lu:%02lu%c%02lu]"
- , prefix, times[0], times[1], timesep, times[2] );
+ fprintf( stderr, "\r%s[%02lu:%02lu%c%02lu]",
+ prefix, times[0], times[1], timesep, times[2] );
+ fflush(stderr);
}
// This is a massively complicated function just for telling where we are.
@@ -444,7 +447,8 @@ void print_stat(mpg123_handle *fr, long offset, out123_handle *ao, int draw_bar
fprintf(stderr, "%s", line+barlen);
}
else
- fprintf(stderr, "\r%s", line);
+ fprintf(stderr, "\r%s", line);
+ fflush(stderr);
}
}
if(line && line != linebuf)
@@ -461,5 +465,6 @@ void clear_stat()
if( (flen=snprintf(fmt, sizeof(fmt), "\r%%%ds\r", len)) > 0
&& flen < sizeof(fmt) )
fprintf(stderr, fmt, " ");
+ fflush(stderr);
}
}