GithubHelp home page GithubHelp logo

duzy / gst-switch Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 19.0 1.58 MB

A DVswitch replacement basing on GStreamer -- record video from multiple sources in the network, and switch for showing in PiP mode

License: Other

Shell 5.10% C 92.50% Makefile 0.83% M4 0.98% C++ 0.59%

gst-switch's Introduction

Hi there ๐Ÿ‘‹

  • I'm an open source developer
    • accept sponsorships to cooperate on projects that we find commons of interest,
    • contribute source code fully developed by myself,
    • extend or patch to improve other projects that I used.
  • I'm a contractor doing private software developments
    • that would be highly at a client's will.

Links:

gst-switch's People

Contributors

duzy avatar mithro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gst-switch's Issues

Tests don't depend on the binary targets

Otherwise this happens;

$ make TESTWRAP="valgrind --leak-check=full" TESTARGS=--print-debug-messages test-composite-mode
make[1]: Entering directory `/home/tansell/gst/gst-switch/tests'
/bin/sh: ./test-switch-server: No such file or directory
make[1]: Leaving directory `/home/tansell/gst/gst-switch/tests'

Installation

I have been running into many problems while installing. Currently I am using the gst-uninstalled script for installing. I am using gst-plugins-bad from your repo (speakertracking_new branch) instead of the gstreamer git version. Can you please some kind of installation instruction for speaker-tracking branch. I had earlier installed properly, but when I tried on a new system now its not installing.

For the gst-plugins-bad in speaker_tracking branch I get:

make  all-recursive
make[1]: Entering directory `/home/hyades/gst/master/gst-plugins-bad'
Making all in gst-libs
make[2]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs'
Making all in gst
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst'
Making all in interfaces
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/interfaces'
make  all-am
make[5]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/interfaces'
make[5]: Nothing to be done for `all-am'.
make[5]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/interfaces'
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/interfaces'
Making all in signalprocessor
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/signalprocessor'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/signalprocessor'
Making all in basecamerabinsrc
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/basecamerabinsrc'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/basecamerabinsrc'
Making all in codecparsers
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/codecparsers'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/codecparsers'
Making all in insertbin
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/insertbin'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst/insertbin'
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs/gst'
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs'
make[2]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst-libs'
Making all in gst
make[2]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst'
make -C accurip
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/accurip'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/accurip'
make -C adpcmdec
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmdec'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmdec'
make -C adpcmenc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmenc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmenc'
make -C aiff
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/aiff'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/aiff'
make -C asfmux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/asfmux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/asfmux'
make -C audiovisualizers
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/audiovisualizers'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/audiovisualizers'
make -C autoconvert
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/autoconvert'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/autoconvert'
make -C bayer
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make -C camerabin2
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/camerabin2'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/camerabin2'
make -C coloreffects
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/coloreffects'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/coloreffects'
make -C dataurisrc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/dataurisrc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/dataurisrc'
make -C debugutils
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make -C dvbsuboverlay
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvbsuboverlay'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvbsuboverlay'
make -C dvdspu
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvdspu'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvdspu'
make -C festival
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/festival'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/festival'
make -C fieldanalysis
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make -C freeverb
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/freeverb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/freeverb'
make -C frei0r
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/frei0r'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/frei0r'
make -C gaudieffects
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make -C geometrictransform
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/geometrictransform'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/geometrictransform'
make -C gdp
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/gdp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/gdp'
make -C id3tag
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/id3tag'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/id3tag'
make -C inter
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/inter'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/inter'
make -C interlace
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/interlace'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/interlace'
make -C ivtc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/ivtc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/ivtc'
make -C jpegformat
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/jpegformat'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/jpegformat'
make -C liveadder
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/liveadder'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/liveadder'
make -C midi
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/midi'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/midi'
make -C mpegdemux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegdemux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegdemux'
make -C mpegtsdemux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsdemux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsdemux'
make -C mpegtsmux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
Making all in tsmux
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux/tsmux'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux/tsmux'
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
make -C mpegpsmux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegpsmux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegpsmux'
make -C mxf
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mxf'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mxf'
make -C pcapparse
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/pcapparse'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/pcapparse'
make -C pnm
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/pnm'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/pnm'
make -C rawparse
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/rawparse'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/rawparse'
make -C removesilence
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/removesilence'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/removesilence'
make -C sdp
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/sdp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/sdp'
make -C segmentclip
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/segmentclip'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/segmentclip'
make -C siren
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/siren'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/siren'
make -C smooth
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/smooth'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/smooth'
make -C speed
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/speed'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/speed'
make -C subenc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/subenc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/subenc'
make -C videofilters
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/videofilters'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/videofilters'
make -C videoparsers
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/videoparsers'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/videoparsers'
make -C y4m
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/y4m'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/y4m'
make -C yadif
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/yadif'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/yadif'
Making all in accurip
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/accurip'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/accurip'
Making all in adpcmdec
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmdec'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmdec'
Making all in adpcmenc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmenc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/adpcmenc'
Making all in aiff
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/aiff'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/aiff'
Making all in asfmux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/asfmux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/asfmux'
Making all in audiovisualizers
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/audiovisualizers'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/audiovisualizers'
Making all in autoconvert
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/autoconvert'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/autoconvert'
Making all in bayer
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/bayer'
Making all in camerabin2
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/camerabin2'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/camerabin2'
Making all in coloreffects
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/coloreffects'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/coloreffects'
Making all in dataurisrc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/dataurisrc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/dataurisrc'
Making all in debugutils
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/debugutils'
Making all in dvbsuboverlay
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvbsuboverlay'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvbsuboverlay'
Making all in dvdspu
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvdspu'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/dvdspu'
Making all in festival
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/festival'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/festival'
Making all in fieldanalysis
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/fieldanalysis'
Making all in freeverb
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/freeverb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/freeverb'
Making all in frei0r
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/frei0r'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/frei0r'
Making all in gaudieffects
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make  all-am
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/gaudieffects'
Making all in geometrictransform
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/geometrictransform'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/geometrictransform'
Making all in gdp
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/gdp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/gdp'
Making all in id3tag
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/id3tag'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/id3tag'
Making all in inter
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/inter'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/inter'
Making all in interlace
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/interlace'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/interlace'
Making all in ivtc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/ivtc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/ivtc'
Making all in jpegformat
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/jpegformat'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/jpegformat'
Making all in liveadder
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/liveadder'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/liveadder'
Making all in midi
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/midi'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/midi'
Making all in mpegdemux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegdemux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegdemux'
Making all in mpegtsdemux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsdemux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsdemux'
Making all in mpegtsmux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
Making all in tsmux
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux/tsmux'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux/tsmux'
make[4]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegtsmux'
Making all in mpegpsmux
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegpsmux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mpegpsmux'
Making all in mxf
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/mxf'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/mxf'
Making all in pcapparse
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/pcapparse'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/pcapparse'
Making all in pnm
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/pnm'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/pnm'
Making all in rawparse
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/rawparse'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/rawparse'
Making all in removesilence
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/removesilence'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/removesilence'
Making all in sdp
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/sdp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/sdp'
Making all in segmentclip
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/segmentclip'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/segmentclip'
Making all in siren
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/siren'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/siren'
Making all in smooth
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/smooth'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/smooth'
Making all in speed
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/speed'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/speed'
Making all in subenc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/subenc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/subenc'
Making all in videofilters
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/videofilters'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/videofilters'
Making all in videoparsers
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/videoparsers'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/videoparsers'
Making all in y4m
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/y4m'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/y4m'
Making all in yadif
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst/yadif'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst/yadif'
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/gst'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst'
make[2]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/gst'
Making all in sys
make[2]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys'
make -C decklink
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/decklink'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/decklink'
make -C dvb
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/dvb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/dvb'
make -C fbdev
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/fbdev'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/fbdev'
make -C shm
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/shm'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/shm'
make -C mfc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/mfc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/mfc'
Making all in decklink
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/decklink'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/decklink'
Making all in dvb
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/dvb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/dvb'
Making all in fbdev
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/fbdev'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/fbdev'
Making all in shm
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/shm'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/shm'
Making all in mfc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys/mfc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys/mfc'
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/sys'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys'
make[2]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/sys'
Making all in ext
make[2]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext'
make -C bz2
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/bz2'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/bz2'
make -C faac
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/faac'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/faac'
make -C faad
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/faad'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/faad'
make -C mpeg2enc
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/mpeg2enc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/mpeg2enc'
make -C mplex
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/mplex'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/mplex'
make -C opencv
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/opencv'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/opencv'
make -C speakertrack
make[3]: Entering directory `/home/hyades/gst/master/gst-plugins-bad/ext/speakertrack'
  CC     libgstcamcontrol_1.0_la-gstcamcontrol_canon.lo
In file included from gstcamcontrol_canon.c:58:0:
/usr/include/glib-2.0/glib/gstring.h:28:2: error: #error "Only <glib.h> can be included directly."
make[3]: *** [libgstcamcontrol_1.0_la-gstcamcontrol_canon.lo] Error 1
make[3]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext/speakertrack'
make[2]: *** [speakertrack] Error 2
make[2]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad/ext'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/hyades/gst/master/gst-plugins-bad'
make: *** [all] Error 2

For gst-switch in speaker_tracking branch I get :

make  all-recursive
make[1]: Entering directory `/home/hyades/gst/master/gst-switch'
Making all in plugins
make[2]: Entering directory `/home/hyades/gst/master/gst-switch/plugins'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/hyades/gst/master/gst-switch/plugins'
Making all in tools
make[2]: Entering directory `/home/hyades/gst/master/gst-switch/tools'
gcc -DHAVE_CONFIG_H -I. -I..   -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12   -pthread -I/home/hyades/gst/master/gstreamer -I/home/hyades/gst/master/gstreamer/libs -I/home/hyades/gst/master/gst-plugins-base/gst-libs -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include   -Wall  -fprofile-arcs -ftest-coverage   -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12   -DLOG_PREFIX="\".\"" -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12   -Wall -MT gst_switch_ptz-gstswitchptz.o -MD -MP -MF .deps/gst_switch_ptz-gstswitchptz.Tpo -c -o gst_switch_ptz-gstswitchptz.o `test -f 'gstswitchptz.c' || echo './'`gstswitchptz.c
gstswitchptz.c:30:44: fatal error: gst/speakertrack/gstcamcontrol.h: No such file or directory
compilation terminated.
make[2]: *** [gst_switch_ptz-gstswitchptz.o] Error 1
make[2]: Leaving directory `/home/hyades/gst/master/gst-switch/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/hyades/gst/master/gst-switch'
make: *** [all] Error 2

Fix bugs found by the clang compiler

export CC=clang && scan-build -v ./autogen.sh && make clean && scan-build -v -v make

Bug Group   Bug Type โ–พ    File    Line    Path Length         
Dead store  Dead assignment plugins /gsttcpmixsrc.c 294 1   View Report Report Bug  Open File
Dead store  Dead initialization tools /gstswitchui.c    179 1   View Report Report Bug  Open File
Dead store  Dead initialization tools /gstswitchui.c    184 1   View Report Report Bug  Open File
Logic error Dereference of null pointer plugins /gstconvbin.c   187 12  View Report Report Bug  Open File
Logic error Dereference of null pointer tools /gstaudiovisual.c 279 7   View Report Report Bug  Open File
Logic error Dereference of null pointer tools /gstswitchcontroller.c    426 4   View Report Report Bug  Open File
Logic error Dereference of null pointer tools /gstswitchserver.c    908 10  View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   167 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   151 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   155 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   161 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   152 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   168 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   144 3   View Report Report Bug  Open File
Dead code   Idempotent operation    tools /gstcomposite.c   143 3   View Report Report Bug  Open File

README should be more detailed

Should have the keys to operate the UI, the ports used, etc

Ports

Control Port - 5000
Audio Port - 4000
Video Port - 3000

Controls

r - Start a new recording, the --record name will be used as a template, e.g. record 2013-01-23 131139.dat

Turning off composite: by stroking a "Esc" key, or Tab until it's off

Time output should be produced right aligned and backspaced

IE The output should look like

BLAH1                                                           (176 seconds)
BLAH1
BLAH2                                                           (176 seconds)
BLAH1
BLAH2
BLAH3                                                           (176 seconds)

This can be calculated by doing the following

int i = atoi(getenv('COLS'))
if (i == 0)
  i = 80;

printf("Blahh\n");
printf("\r%s(%4d seconds)", " "*30, 167);
printf("\r%s(%4d seconds)", " "*30, 165);

$ echo -e '12345\b6'
12346

The test-controller seems endless.

It looks like "make test-controller" will never end, the recording output file, e.g. test-recording 2013-02-01 012047.data, is increasing.

GStreamer-CRITICAL **: gst_bus_create_watch: assertion `bus->priv->poll != NULL' failed

composite: intervideosrc name=source_a channel=composite_a intervideosrc name=source_b channel=composite_b videomixer name=compose sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 sink_1::xpos=101 sink_1::ypos=0 sink_1::zorder=1 source_b. ! video/x-raw,width=100,height=56 ! queue2 ! videoscale ! video/x-raw,width=30,height=17 ! compose.sink_1 source_a. ! video/x-raw,width=100,height=56 ! queue2 ! compose.sink_0 compose. ! video/x-raw,width=131,height=56 ! tee name=result result. ! queue2 ! out. intervideosink name=out channel=composite_out result. ! queue2 ! record. intervideosink name=record channel=composite_video
output: intervideosrc name=source channel=composite_out tcpserversink name=sink port=3001 source. ! video/x-raw,width=131,height=56 ! gdppay ! sink.
recorder: intervideosrc name=source_video channel=composite_video interaudiosrc name=source_audio channel=composite_audio source_video. ! video/x-raw,width=131,height=56 ! queue2 ! vp8enc ! mux. source_audio. ! queue2 ! faac ! mux. avimux name=mux ! tee name=result filesink name=disk_sink sync=false location="test-recording 2013-02-05 112343.data" result. ! queue2 ! disk_sink. tcpserversink name=tcp_sink sync=false port=3002 result. ! queue2 ! gdppay ! tcp_sink.
./tools/gstworker.c:363:error: composite: (STREAM: 1) Internal data flow error.
./tools/gstcomposite.c:741:warning: new mode 2, 131x56 (error transition)
composite: intervideosrc name=source_a channel=composite_a intervideosrc name=source_b channel=composite_b videomixer name=compose sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 sink_1::xpos=101 sink_1::ypos=0 sink_1::zorder=1 source_b. ! video/x-raw,width=100,height=56 ! queue2 ! videoscale ! video/x-raw,width=30,height=17 ! compose.sink_1 source_a. ! video/x-raw,width=100,height=56 ! queue2 ! compose.sink_0 compose. ! video/x-raw,width=131,height=56 ! tee name=result result. ! queue2 ! out. intervideosink name=out channel=composite_out result. ! queue2 ! record. intervideosink name=record channel=composite_video

(gst-switch-srv:30095): GStreamer-CRITICAL **: gst_poll_get_read_gpollfd: assertion `set != NULL' failed

(gst-switch-srv:30095): GStreamer-CRITICAL **: gst_bus_create_watch: assertion `bus->priv->poll != NULL' failed

(gst-switch-srv:30095): GLib-CRITICAL **: g_source_set_callback: assertion `source != NULL' failed
./tests/test_switch_server.c:719:info: closed: Underlying GIOStream returned 0 bytes on an async read
./tests/test_switch_server.c:272:info: quit 30095

Seg fault

I have gstreamer installed. I get this SEGV when I run it.

hyades@ubuntu:~/gst/stage/bin$ gdb gst-switch-srv 
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/hyades/gst/stage/bin/gst-switch-srv...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/hyades/gst/stage/bin/gst-switch-srv 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
./tools/gstswitchserver.c:125:info: gst_switch_server init 0x8118850
./tools/gstswitchserver.c:1518:info: Compose sink to 3001, 3002
./tools/gstcomposite.c:88:info: gst_composite init 0x811b010
./tools/gstcomposite.c:155:warning: ignore changing mode in transition
[New Thread 0xb77f2b40 (LWP 24388)]
[New Thread 0xb6dffb40 (LWP 24389)]
[New Thread 0xb61ffb40 (LWP 24390)]
[New Thread 0xb59feb40 (LWP 24391)]
[New Thread 0xb51fdb40 (LWP 24392)]
[New Thread 0xb49fcb40 (LWP 24393)]
./tools/gstswitchcontroller.c:484:info: Controller is listening at: unix:abstract=gstswitch
./tools/gstswitchserver.c:707:info: Listening on localhost (127.0.0.1:3000)
[New Thread 0xb41fbb40 (LWP 24394)]
[New Thread 0xb39fab40 (LWP 24395)]
[New Thread 0xb31f9b40 (LWP 24396)]
[New Thread 0xb29f8b40 (LWP 24397)]
[New Thread 0xb21f7b40 (LWP 24398)]
[New Thread 0xb19f6b40 (LWP 24399)]
[New Thread 0xb11f5b40 (LWP 24400)]
[New Thread 0xb09f4b40 (LWP 24401)]
[New Thread 0xb01f3b40 (LWP 24402)]
[New Thread 0xaf9f2b40 (LWP 24403)]
[New Thread 0xaf1f1b40 (LWP 24404)]

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event
[New Thread 0xae9f0b40 (LWP 24405)]
./tools/gstswitchserver.c:707:info: Listening on localhost (127.0.0.1:5000)
./tools/gstswitchserver.c:707:info: Listening on localhost (127.0.0.1:4000)
[New Thread 0xae1efb40 (LWP 24406)]
[New Thread 0xad9eeb40 (LWP 24407)]
online: composite @2370555914920

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event
./tools/gstswitchcontroller.c:626:warning: set_compose_port: no connections

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay0:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<sink:sink> Got data flow before stream-start event
[New Thread 0xac460b40 (LWP 24408)]
[New Thread 0xabc5fb40 (LWP 24409)]
[New Thread 0xab45eb40 (LWP 24410)]

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay1:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<tcp_sink:sink> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay1:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<tcp_sink:sink> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3911:gst_pad_push_data:<gdppay1:src> Got data flow before stream-start event

(gst-switch-srv:24384): GStreamer-WARNING **: gstpad.c:3680:gst_pad_chain_data_unchecked:<tcp_sink:sink> Got data flow before stream-start event

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb11f5b40 (LWP 24400)]
0xb7ef1864 in gst_buffer_unmap (buffer=0x89, info=info@entry=0xb11f49b4)
    at gstbuffer.c:1549
1549      g_return_if_fail (GST_IS_BUFFER (buffer));
(gdb) bt
#0  0xb7ef1864 in gst_buffer_unmap (buffer=0x89, info=info@entry=0xb11f49b4)
    at gstbuffer.c:1549
#1  0xb6535266 in gst_avi_mux_riff_get_avi_header (
    avimux=avimux@entry=0x8134180) at gstavimux.c:1314
#2  0xb65371f7 in gst_avi_mux_start_file (avimux=avimux@entry=0x8134180)
    at gstavimux.c:1754
#3  0xb65377b2 in gst_avi_mux_collect_pads (pads=0x8124110, avimux=0x8134180)
    at gstavimux.c:2184
#4  0xb78c691c in gst_collect_pads_check_collected (pads=pads@entry=0x8124110)
    at gstcollectpads.c:1297
#5  0xb78c8729 in gst_collect_pads_chain (pad=pad@entry=0x814d888, 
    parent=parent@entry=0x8134180, buffer=buffer@entry=0x81fa858)
    at gstcollectpads.c:2019
#6  0xb7f23a30 in gst_pad_chain_data_unchecked (data=0x81fa858, 
    type=3079439328, pad=0x814d888) at gstpad.c:3711
#7  gst_pad_push_data (pad=0x813f9c0, pad@entry=0x81fa858, type=3079439328, 
    type@entry=4112, data=0x81fa858) at gstpad.c:3941
#8  0xb7f2ad27 in gst_pad_push (pad=0x81fa858, buffer=0x81fa858)
    at gstpad.c:4044
#9  0xb6f681d9 in gst_audio_encoder_finish_frame (enc=enc@entry=0x81487e8, 
    buf=buf@entry=0x81fa858, samples=1024) at gstaudioencoder.c:855
#10 0xb6feda65 in gst_faac_handle_frame (enc=0x81487e8, in_buf=<optimized out>)
    at gstfaac.c:683
---Type <return> to continue, or q <return> to quit---

Test failures don't cause an error

make[1]: Entering directory `/home/travis/build/timsvideo/gst-switch/tests'
1008pkill gst-switch-srv || true
1009pkill gst-switch-ui || true
1010./test-switch-server  --enable-test-audio || true
1011/gst-switch/audio: 
1012./tests/test_switch_server.c:463:info: server 8121
1013Running test-audio-source2 (20 seconds)
1014Running test-audio-source1 (20 seconds)
1015Running test-audio-source3 (20 seconds)
1016Running test_audio_preview_sink3 (20 seconds)
1017Running test_audio_preview_sink1 (20 seconds)
1018Running test_audio_preview_sink2 (20 seconds)
1019./tests/test_switch_server.c:529:error: test_audio_preview_sink1: 1 errors
1020./tests/test_switch_server.c:529:error: test_audio_preview_sink2: 1 errors
1021./tests/test_switch_server.c:529:error: test_audio_preview_sink3: 1 errors
1022**
1023ERROR:test_switch_server.c:1517:void test_audio(): assertion failed: (sink1.pass)
1024/bin/bash: line 1:  8120 Aborted                 ./test-switch-server --enable-test-audio
1025make[1]: Leaving directory `/home/travis/build/timsvideo/gst-switch/tests'
1026make[1]: Entering directory `/home/travis/build/timsvideo/gst-switch/tests'

interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query:<source> report latency min

branch_3006: interaudiosrc name=source channel=branch_3006 tcpserversink name=sink port=3006 source. ! faac ! gdppay ! sink.
case-3: interaudiosrc name=source channel=input_3006 interaudiosink name=sink channel=branch_3006 source. ! sink.
0:00:01.024567713 26035 0x2abd80002f20 ERROR interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query: report latency min 0:00:00.999999990 max 0:00:00.999999990
0:00:01.082991001 26035 0x2abd98002630 ERROR interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query: report latency min 0:00:00.999999990 max 0:00:00.999999990
0:00:01.093995205 26035 0x2abd80002f20 ERROR interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query: report latency min 0:00:00.999999990 max 0:00:00.999999990

ERROR:test_switch_server.c:1213:test_composite_mode: assertion failed (client->audio_port == client->audio_port0): (3003 == 0)

Running test-compose-output-3001-354                                                            
Running test-compose-output-3001-355                                                            
Running test-compose-output-3001-356                                                            
                                                                 (    1 seconds)**
ERROR:test_switch_server.c:1213:test_composite_mode: assertion failed (client->audio_port == client->audio_port0): (3003 == 0)
/bin/sh: line 1: 21953 Aborted                 (core dumped) ./test-switch-server --enable-test-composite-mode
make[1]: Leaving directory `/home/tansell/gst/gst-switch/tests'
tansell@tansell-x220-l:~/gst/gst-switch$ 

./autogen.sh doesn't check for presence of required gtkx.h header

lrt -lgio-2.0 -lgobject-2.0 -lglib-2.0 -pthread
928gcc -DHAVE_CONFIG_H -I. -I..    -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include   -Wall  -fprofile-arcs -ftest-coverage    -DLOG_PREFIX="\"./tools\"" -g -O2 -Wall -MT gst_switch_ui-gstworker.o -MD -MP -MF .deps/gst_switch_ui-gstworker.Tpo -c -o gst_switch_ui-gstworker.o `test -f 'gstworker.c' || echo './'`gstworker.c
929mv -f .deps/gst_switch_ui-gstworker.Tpo .deps/gst_switch_ui-gstworker.Po
930gcc -DHAVE_CONFIG_H -I. -I..    -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include   -Wall  -fprofile-arcs -ftest-coverage    -DLOG_PREFIX="\"./tools\"" -g -O2 -Wall -MT gst_switch_ui-gstswitchui.o -MD -MP -MF .deps/gst_switch_ui-gstswitchui.Tpo -c -o gst_switch_ui-gstswitchui.o `test -f 'gstswitchui.c' || echo './'`gstswitchui.c
931In file included from gstswitchui.c:31:0:
932gstswitchui.h:28:22: fatal error: gdk/gdkx.h: No such file or directory
933compilation terminated.
934make[2]: *** [gst_switch_ui-gstswitchui.o] Error 1

Need more logging output

The server should output more information about what is going on. (But not too much, otherwise the STDOUT will block and cause problems with the video.

Problem with ports when reset

While changing to a new mode, the server would reset the output port, which would cause the UI to reopen that port. But while the UI is trying to reopen that port, the port could be reset again by a new request.

***MEMORY-ERROR***: gst-switch-srv[27761]: GSlice: assertion failed: sinfo->n_allocated > 0

During make test the following MEMORY-ERROR occurs.

input_3024: giostreamsrc name=source intervideosink name=sink channel=input_3024 source. ! gdpdepay ! sink. 
branch_3024: intervideosrc name=source channel=branch_3024 tcpserversink name=sink port=3024 source. ! video/x-raw,width=100,height=56 ! gdppay ! sink. 
case-9: intervideosrc name=source channel=input_3024 intervideosink name=sink channel=branch_3024 source. ! video/x-raw,width=100,height=56 ! sink. 
input_3025: giostreamsrc name=source interaudiosink name=sink channel=input_3025 source. ! sink. 
branch_3025: interaudiosrc name=source channel=branch_3025 tcpserversink name=sink port=3025 source. ! faac ! gdppay ! sink. 
./tools/gstswitchcontroller.c:493:warning: add_preview_port: no connections
case-9: interaudiosrc name=source channel=input_3025 source. ! identity ! tee name=s s. ! queue2 ! interaudiosink name=sink1 channel=branch_3025 s. ! queue2 ! interaudiosink name=sink2 channel=composite_audio 
0:54:33.992317585 27761 0x2b56ee32a2d0 ERROR          interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query:<source> report latency min 0:00:00.999999990 max 0:00:00.999999990
0:54:33.992376397 27761 0x2b56ee32a2d0 ERROR          interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query:<source> report latency min 0:00:00.999999990 max 0:00:00.999999990
0:54:34.063363906 27761 0x2b56ec01b230 ERROR          interaudiosrc gstinteraudiosrc.c:343:gst_inter_audio_src_query:<source> report latency min 0:00:00.999999990 max 0:00:00.999999990
./tools/gstswitchcontroller.c:493:warning: add_preview_port: no connections
./tools/gstswitchcontroller.c:493:warning: set_audio_port: no connections

***MEMORY-ERROR***: gst-switch-srv[27761]: GSlice: assertion failed: sinfo->n_allocated > 0

Doesn't compile with clang

tansell@tansell-x220-l:~/gst/gst-switch$ export CC=clang && ./autogen.sh && make clean && make

make[2]: Entering directory `/home/tansell/gst/gst-switch/tools'
clang -DHAVE_CONFIG_H -I. -I..    -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/home/tansell/gst/stage/include/gstreamer-1.0   -Wall  -fprofile-arcs -ftest-coverage  -DLOG_PREFIX="\"./tools\"" -g -O2 -Wall -MT gst_switch_srv-gstworker.o -MD -MP -MF .deps/gst_switch_srv-gstworker.Tpo -c -o gst_switch_srv-gstworker.o `test -f 'gstworker.c' || echo './'`gstworker.c
In file included from gstworker.c:31:
In file included from ./gstswitchserver.h:29:
./gstcomposite.h:61:33: error: redefinition of typedef 'GstSwitchServer' is invalid in C [-Wtypedef-redefinition]
typedef struct _GstSwitchServer GstSwitchServer;
                                ^
./gstworker.h:39:33: note: previous definition is here
typedef struct _GstSwitchServer GstSwitchServer;
                                ^
In file included from gstworker.c:31:
In file included from ./gstswitchserver.h:30:
./gstswitchcontroller.h:45:33: error: redefinition of typedef 'GstSwitchServer' is invalid in C [-Wtypedef-redefinition]
typedef struct _GstSwitchServer GstSwitchServer;
                                ^
./gstcomposite.h:61:33: note: previous definition is here
typedef struct _GstSwitchServer GstSwitchServer;
                                ^
In file included from gstworker.c:31:
./gstswitchserver.h:42:33: error: redefinition of typedef 'GstSwitchServer' is invalid in C [-Wtypedef-redefinition]
typedef struct _GstSwitchServer GstSwitchServer;
                                ^
./gstswitchcontroller.h:45:33: note: previous definition is here
typedef struct _GstSwitchServer GstSwitchServer;
                                ^
3 errors generated.

Address already in use errors during make test

tansell@tansell-x220-l:~/gst/gst-switch$ make test
make[1]: Entering directory `/home/tansell/gst/gst-switch/tests'
/gst-switch/video: 
./tests/test_switch_server.c:433:info: server 6215
./tools/gstswitchserver.c:1043:info: Compose sink to 3001, 3002
./tools/gstcomposite.c:129:warning: ignore changing mode in transition
composite: intervideosrc name=source_a channel=composite_a intervideosrc name=source_b channel=composite_b videomixer name=compose sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 sink_1::xpos=101 sink_1::ypos=0 sink_1::zorder=1 source_b. ! video/x-raw,width=100,height=56 ! queue2 ! compose.sink_1 source_a. ! video/x-raw,width=100,height=56 ! queue2 ! compose.sink_0 compose. ! video/x-raw,width=201,height=56 ! tee name=result result. ! queue2 ! out. intervideosink name=out channel=composite_out result. ! queue2 ! record. intervideosink name=record channel=composite_video 
./tools/gstswitchserver.c:588:error: bind socket: Error binding to address: Address already in use
./tools/gstswitchserver.c:588:error: bind socket: Error binding to address: Address already in use
./tools/gstswitchserver.c:588:error: bind socket: Error binding to address: Address already in use
**
ERROR:gstswitchcontroller.c:401:gst_switch_controller_init: assertion failed (error == NULL): Error binding to address: Address already in use (g-io-error-quark, 33)

PIP repositioning is not working

composite: state change from PLAYING to PAUSED
./tools/gstswitchui.c:752:info: adjust-pip: (0) 1
composite: state change from PAUSED to READY
composite: state change from READY to NULL
composite: intervideosrc name=source_a channel=composite_a intervideosrc name=source_b channel=composite_b videomixer name=compose sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 sink_1::xpos=9 sink_1::ypos=4 sink_1::zorder=1 source_b. ! video/x-raw,width=100,height=56 ! queue2 ! videoscale ! video/x-raw,width=30,height=17 ! compose.sink_1 source_a. ! video/x-raw,width=100,height=56 ! queue2 ! compose.sink_0 compose. ! video/x-raw,width=100,height=56 ! tee name=result result. ! queue2 ! out. intervideosink name=out channel=composite_out result. ! queue2 ! record. intervideosink name=record channel=composite_video
composite: state change from NULL to READY
composite: state change from READY to PAUSED
./tools/gstworker.c:295:error: composite: Internal data flow error.
./tools/gstworker.c:296:error: DEBUG INFO:
gstbasesrc.c(2809): gst_base_src_loop (): /GstPipeline:pipeline132/GstInterVideoSrc:source_b:
streaming task paused, reason not-negotiated (-4)

./tools/gstcomposite.c:513:warning: last PIP adjustment request is progressing
./tools/gstswitchui.c:752:info: adjust-pip: (0) 1
./tools/gstcomposite.c:513:warning: last PIP adjustment request is progressing
./tools/gstswitchui.c:752:info: adjust-pip: (0) 1
./tools/gstcomposite.c:513:warning: last PIP adjustment request is progressing
./tools/gstswitchui.c:752:info: adjust-pip: (0) 1
./tools/gstcomposite.c:513:warning: last PIP adjustment request is progressing
./tools/gstswitchui.c:752:info: adjust-pip: (0) 1
./tools/gstcomposite.c:513:warning: last PIP adjustment request is progressing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.