12345678910111213141516171819202122232425262728293031323334353637383940 |
- ################################################################################
- # Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
- #
- # Permission is hereby granted, free of charge, to any person obtaining a
- # copy of this software and associated documentation files (the "Software"),
- # to deal in the Software without restriction, including without limitation
- # the rights to use, copy, modify, merge, publish, distribute, sublicense,
- # and/or sell copies of the Software, and to permit persons to whom the
- # Software is furnished to do so, subject to the following conditions:
- #
- # The above copyright notice and this permission notice shall be included in
- # all copies or substantial portions of the Software.
- #
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- # DEALINGS IN THE SOFTWARE.
- ################################################################################
- import gi
- import sys
- gi.require_version('Gst', '1.0')
- from gi.repository import GObject, Gst
- def bus_call(bus, message, loop):
- t = message.type
- if t == Gst.MessageType.EOS:
- sys.stdout.write("End-of-stream\n")
- loop.quit()
- elif t==Gst.MessageType.WARNING:
- err, debug = message.parse_warning()
- sys.stderr.write("Warning: %s: %s\n" % (err, debug))
- elif t == Gst.MessageType.ERROR:
- err, debug = message.parse_error()
- sys.stderr.write("Error: %s: %s\n" % (err, debug))
- loop.quit()
- return True
|