def on_message(self, bus, message):
# Getting the RMS audio level value:
s = Gst.Message.get_structure(message)
if message.type == Gst.MessageType.ELEMENT:
if str(Gst.Structure.get_name(s)) == "level":
percentage = self.iec_scale(s.get_value("rms")[0])
# This is not a true stereo signal.
self.vumeter_left.set_fraction(percentage)
self.vumeter_right.set_fraction(percentage)
t = message.type
if t == Gst.MessageType.EOS:
self.streampipe.set_state(Gst.State.NULL)
elif t == Gst.MessageType.ERROR:
err, debug = message.parse_error()
print ('%s' % err, debug) # DEBUG
# Watching for feed loss during streaming:
#if '(651)' not in debug:
# # The error is not a socket error.
# self.pipel.stream_stop()
# self.build_filename(streamfailed=True)
# self.create_backup_pipeline()
评论列表
文章目录