summaryrefslogtreecommitdiff
path: root/gst-debug-viewer
blob: 4a225122b968fc2aff5ec3ad222bfe313273fb3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env python
# -*- coding: utf-8; mode: python; -*-
#
#  GStreamer Debug Viewer - View and analyze GStreamer debug log files
#
#  Copyright (C) 2007 René Stadler <mail@renestadler.de>
#
#  This program is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by the Free
#  Software Foundation; either version 3 of the License, or (at your option)
#  any later version.
#
#  This program is distributed in the hope that it will be useful, but WITHOUT
#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
#  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
#  more details.
#
#  You should have received a copy of the GNU General Public License along with
#  this program.  If not, see <http://www.gnu.org/licenses/>.

"""GStreamer Debug Viewer program invocation."""

def main ():

    import sys
    import os.path

    def substituted (s):
        if s.startswith ("$") and s.endswith ("$"):
            return None
        else:
            return s

    # These "$"-enclosed strings are substituted at install time by a custom
    # distutils extension (see setup.py).  If you don't see any dollar signs at
    # all, you are looking at an installed version of this file.
    data_dir = substituted ("$DATADIR$")
    lib_dir = substituted ("$LIBDIR$")

    if data_dir:
        installed = True
    else:
        # Substitution has not been run, we are running uninstalled:
        lib_dir = os.path.dirname (os.path.abspath (sys.argv[0]))
        installed = False

    if lib_dir:
        if not os.path.normpath (lib_dir) in [os.path.normpath (p)
                                              for p in sys.path]:
            sys.path.insert (0, lib_dir)

    try:
        import GstDebugViewer
    except ImportError as exc:
        print >> sys.stderr, str (exc)
        sys.exit (1)
    else:
        if installed:
            GstDebugViewer.Paths.setup_installed (data_dir)
        else:
            # Assume that we reside inside the source dist.
            source_dir = os.path.dirname (os.path.abspath (sys.argv[0]))
            GstDebugViewer.Paths.setup_uninstalled (source_dir)

    GstDebugViewer.run ()

if __name__ == "__main__":
    main ()