File tree Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ let logging = false ;
2
+ let customLogger = ( ) => { } ;
3
+
4
+ const setLogging = ( _logging ) => {
5
+ logging = _logging ;
6
+ } ;
7
+
8
+ const setCustomLogger = ( logger ) => {
9
+ customLogger = logger ;
10
+ } ;
11
+
12
+ const log = ( type , message ) => {
13
+ customLogger ( { type, message } ) ;
14
+ if ( logging ) {
15
+ console . log ( `[${ type } ] ${ message } ` ) ;
16
+ }
17
+ } ;
18
+
19
+ module . exports = {
20
+ logging,
21
+ setLogging,
22
+ setCustomLogger,
23
+ log,
24
+ } ;
Original file line number Diff line number Diff line change
1
+ let duration = 0 ;
2
+ let ratio = 0 ;
3
+
4
+ const ts2sec = ( ts ) => {
5
+ const [ h , m , s ] = ts . split ( ':' ) ;
6
+ return ( parseFloat ( h ) * 60 * 60 ) + ( parseFloat ( m ) * 60 ) + parseFloat ( s ) ;
7
+ } ;
8
+
9
+ module . exports = ( message , progress ) => {
10
+ if ( typeof message === 'string' ) {
11
+ if ( message . startsWith ( ' Duration' ) ) {
12
+ const ts = message . split ( ', ' ) [ 0 ] . split ( ': ' ) [ 1 ] ;
13
+ const d = ts2sec ( ts ) ;
14
+ progress ( { duration : d , ratio } ) ;
15
+ if ( duration === 0 || duration > d ) {
16
+ duration = d ;
17
+ }
18
+ } else if ( message . startsWith ( 'frame' ) || message . startsWith ( 'size' ) ) {
19
+ const ts = message . split ( 'time=' ) [ 1 ] . split ( ' ' ) [ 0 ] ;
20
+ const t = ts2sec ( ts ) ;
21
+ ratio = t / duration ;
22
+ progress ( { ratio, time : t } ) ;
23
+ } else if ( message . startsWith ( 'video:' ) ) {
24
+ progress ( { ratio : 1 } ) ;
25
+ duration = 0 ;
26
+ }
27
+ }
28
+ } ;
You can’t perform that action at this time.
0 commit comments