@@ -620,6 +620,12 @@ def _is_in_playback_token(self, a_string):
620620 return True
621621 return False
622622
623+ def _clear_empty_mkv (self ):
624+ if self .recording > 0 and self .recording_filename :
625+ if os .path .exists (self .recording_filename ):
626+ if os .path .getsize (self .recording_filename ) == 0 :
627+ os .remove (self .recording_filename )
628+
623629 def updateStatus (self , * args ):
624630 stop = args [0 ]
625631 process = args [1 ]
@@ -649,7 +655,7 @@ def updateStatus(self, *args):
649655 continue
650656 subsystemOut = subsystemOut .strip ()
651657 subsystemOut = subsystemOut .replace ('\r ' , '' ).replace ('\n ' , '' )
652- logger .error ('DE subsystemOut = "{0}"' .format (subsystemOut ))
658+ # logger.error('DE subsystemOut = "{0}"'.format(subsystemOut))
653659
654660 if self .oldUserInput ['Input' ] != subsystemOut :
655661 if (logger .isEnabledFor (logging .DEBUG )):
@@ -836,7 +842,10 @@ def updateStatus(self, *args):
836842 if detect_if_player_exited ():
837843 if logger .isEnabledFor (logging .INFO ):
838844 logger .info ('----==== player disappeared! ====----' )
839- stop_player (from_update_thread = True )
845+ stop_player (
846+ from_update_thread = True ,
847+ player_disappeared = True
848+ )
840849 else :
841850 if logger .isEnabledFor (logging .INFO ):
842851 logger .info ('Crash detection is off; waiting to timeout' )
@@ -845,12 +854,16 @@ def updateStatus(self, *args):
845854 if detect_if_player_exited ():
846855 if logger .isEnabledFor (logging .INFO ):
847856 logger .info ('----==== player disappeared! ====----' )
848- stop_player (from_update_thread = True )
857+ stop_player (
858+ from_update_thread = True ,
859+ player_disappeared = True
860+ )
849861 else :
850862 if logger .isEnabledFor (logging .INFO ):
851863 logger .info ('Crash detection is off; waiting to timeout' )
852864 if (logger .isEnabledFor (logging .INFO )):
853865 logger .info ('updateStatus thread stopped.' )
866+ self ._clear_empty_mkv ()
854867
855868 def updateMPVStatus (self , * args ):
856869 stop = args [0 ]
@@ -953,6 +966,7 @@ def updateMPVStatus(self, *args):
953966 logger .info ('Crash detection is off; waiting to timeout' )
954967 if (logger .isEnabledFor (logging .INFO )):
955968 logger .info ('MPV updateStatus thread stopped.' )
969+ self ._clear_empty_mkv ()
956970
957971 def _close_pipe (self , sock ):
958972 if platform .startswith ('win' ):
@@ -1174,6 +1188,7 @@ def do_crash_detection(detect_if_player_exited, stop):
11741188 fp .close ()
11751189 except :
11761190 pass
1191+ self ._clear_empty_mkv ()
11771192
11781193 def _request_mpv_info_data (self , sock ):
11791194 with self .status_update_lock :
@@ -2340,17 +2355,20 @@ def _buildStartOpts(self, streamUrl, playList=False):
23402355 if self .USE_PROFILE == - 1 :
23412356 self .USE_PROFILE = self ._configHasProfile ()
23422357
2343- if self .USE_PROFILE == 1 :
2344- opts .append ('-profile' )
2345- opts .append (self .profile_name )
2346- if (logger .isEnabledFor (logging .INFO )):
2347- logger .info ('Using profile: "[{}]"' .format (self .profile_name ))
2358+ if self ._recording == self .RECORD_WITH_SILENCE :
2359+ opts .append ('--profile=silent' )
23482360 else :
2349- if (logger .isEnabledFor (logging .INFO )):
2350- if self .USE_PROFILE == 0 :
2351- logger .info ('Profile "[{}]" not found in config file!!!' .format (self .profile_name ))
2352- else :
2353- logger .info ('No usable profile found' )
2361+ if self .USE_PROFILE == 1 :
2362+ opts .append ('-profile' )
2363+ opts .append (self .profile_name )
2364+ if (logger .isEnabledFor (logging .INFO )):
2365+ logger .info ('Using profile: "[{}]"' .format (self .profile_name ))
2366+ else :
2367+ if (logger .isEnabledFor (logging .INFO )):
2368+ if self .USE_PROFILE == 0 :
2369+ logger .info ('Profile "[{}]" not found in config file!!!' .format (self .profile_name ))
2370+ else :
2371+ logger .info ('No usable profile found' )
23542372
23552373 if playList :
23562374 opts .append ('-playlist' )
@@ -2366,6 +2384,14 @@ def _buildStartOpts(self, streamUrl, playList=False):
23662384 #opts.append('-dumpfile')
23672385 #opts.append('/home/spiros/.config/pyradio/recordings/rec.mkv')
23682386 ## opts.append(r'C:\Users\Spiros\AppData\Roaming\pyradio\recordings\rec.mkv')
2387+ logger .error ('\n \n self._recording = {}' .format (self ._recording ))
2388+ if self ._recording > 0 :
2389+ self .recording_filename = self .getrecording_filename (self .name , '.mkv' )
2390+ opts .append ('-dumpstream' )
2391+ opts .append ('-dumpfile' )
2392+ opts .append (self .recording_filename )
2393+ if logger .isEnabledFor (logging .DEBUG ):
2394+ logger .debug ('---=== Starting Recording: "{}" ===---' ,format (self .recording_filename ))
23692395 return opts
23702396
23712397 def _mute (self ):
@@ -2608,6 +2634,14 @@ def _buildStartOpts(self, streamUrl, playList=False):
26082634 #opts.append('--sout')
26092635 #opts.append('file/ts:/home/spiros/.config/pyradio/recordings/rec.mkv')
26102636 ## opts.append(r'file/ts:C:\Users\Spiros\AppData\Roaming\pyradio\recordings\rec.mkv')
2637+ logger .error ('\n \n self._recording = {}' .format (self ._recording ))
2638+ if self ._recording > 0 :
2639+ self .recording_filename = self .getrecording_filename (self .name , '.mkv' )
2640+ opts .append ('--sout' )
2641+ opts .append (r'file/ts:' + self .recording_filename )
2642+ opts .append (self .recording_filename )
2643+ if logger .isEnabledFor (logging .DEBUG ):
2644+ logger .debug ('---=== Starting Recording: "{}" ===---' ,format (self .recording_filename ))
26112645 return opts
26122646
26132647 def _mute (self ):
0 commit comments