Discussion:
Problem setting display parameter in Xvimagesink
Subodh
2014-04-07 09:16:54 UTC
Permalink
Hi,
I am trying to use the display parameter to choose the monitor I want to
output my video on.
Following is my xrandr configuration
Screen 0: minimum 320 x 200, current 3200 x 900, maximum 8192 x 8192
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1600x900+1600+0 (normal left inverted right x axis y axis)
443mm x 249mm
1600x900 60.0*+
1280x1024 60.0
1152x864 75.0
1024x768 75.1 60.0
832x624 74.6
800x600 75.0 60.3 56.2
640x480 75.0 60.0
720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 connected 1600x900+0+0 (normal left inverted right x axis y axis) 443mm
x 249mm
1600x900 60.0*+
1280x1024 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.1 60.0
832x624 74.6
800x600 75.0 60.3 56.2
640x480 75.0 60.0
720x400 70.1

The pipeline is failing as follows

gst-launch-1.0 -v playbin
uri=file:///home/ufouser/Media/H264_With_Audio/Ghajini_song.mp4
video-sink="xvimagesink display=(string)HDMI1"
Setting pipeline to PAUSED ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri =
file:///home/ufouser/Media/H264_With_Audio/Ghajini_song.mp4
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source =
"\(GstFileSrc\)\ source"
Pipeline is PREROLLING ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src:
caps = video/quicktime, variant=(string)iso
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src:
caps = video/quicktime, variant=(string)iso
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0.GstPad:sink:
caps = video/quicktime, variant=(string)iso
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_0:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_0:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:src:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:sink_1:
caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)4, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)11b0, rate=(int)48000,
channels=(int)6, channel-mask=(bitmask)0x0000000000000000
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:sink_1:
caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)4, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)11b0, rate=(int)48000,
channels=(int)6, channel-mask=(bitmask)0x0000000000000000
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstAacParse:aacparse0.GstPad:src:
caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)4, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)11b0, rate=(int)48000,
channels=(int)6, channel-mask=(bitmask)0x0000000000000000
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFaad:faad0.GstPad:sink:
caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)4, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)11b0, rate=(int)48000,
channels=(int)6, channel-mask=(bitmask)0x0000000000000000
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstAacParse:aacparse0.GstPad:sink:
caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true,
stream-format=(string)raw, level=(string)4, base-profile=(string)lc,
profile=(string)lc, codec_data=(buffer)11b0, rate=(int)48000,
channels=(int)6, channel-mask=(bitmask)0x0000000000000000
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-buffers = 5
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-time = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-bytes = 2097152
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:src:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.2, profile=(string)high,
codec_data=(buffer)01644020ffe1000d27644020ac2b280a00b660201001000528ee06f2c0,
width=(int)1280, height=(int)720, framerate=(fraction)50/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
Redistribute latency...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFaad:faad0.GstPad:src:
caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:src:
caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-buffers = 5
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-time = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0:
max-size-bytes = 2097152
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
always-ok = false
/GstPlayBin:playbin0/GstInputSelector:inputselector1.GstSelectorPad:sink_0:
always-ok = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstDecodePad:src_0:
caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_1: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstInputSelector:inputselector0: active-pad =
"\(GstSelectorPad\)\ sink_0"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_1: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_1: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_1: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstInputSelector:inputselector1: active-pad =
"\(GstSelectorPad\)\ sink_0"
/GstPlayBin:playbin0/GstInputSelector:inputselector1.GstPad:src: caps =
audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad13:
caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
/GstPlayBin:playbin0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps
= audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
rate=(int)48000, channels=(int)6, channel-mask=(bitmask)0x000000000000003f
ERROR: from element /GstPlayBin:playbin0/GstPlaySink:playsink: Configured
videosink bin0 is not working.
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:video_sink: caps =
video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
Additional debug info:
gstplaysink.c(1787): gen_video_chain ():
/GstPlayBin:playbin0/GstPlaySink:playsink
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:video_sink: caps =
video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
/GstPlayBin:playbin0/GstInputSelector:inputselector1.GstSelectorPad:sink_0:
tags = "taglist\,\ datetime\=\(datetime\)2009-09-03T16:22:29+0530\,\
encoder\=\(string\)\"mp4creator\\\ 1.6.1d\"\,\
container-format\=\(string\)\"ISO\\\ MP4/M4A\"\;"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0:
caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
/GstPlayBin:playbin0/GstInputSelector:inputselector1.GstSelectorPad:sink_0:
tags = "taglist\,\ datetime\=\(datetime\)2009-09-03T16:22:29+0530\,\
encoder\=\(string\)\"mp4creator\\\ 1.6.1d\"\,\
container-format\=\(string\)\"ISO\\\ MP4/M4A\"\,\
audio-codec\=\(string\)\"MPEG-4\\\ AAC\\\ audio\"\,\
maximum-bitrate\=\(uint\)543552\,\ bitrate\=\(uint\)490327\,\
language-code\=\(string\)en\;"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_0.GstProxyPad:proxypad11:
caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad6:
caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)50/1
Freeing pipeline ...



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Problem-setting-display-parameter-in-Xvimagesink-tp4666326.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
Sebastian Dröge
2014-04-09 06:23:37 UTC
Permalink
Post by Subodh
Hi,
I am trying to use the display parameter to choose the monitor I want to
output my video on.
Following is my xrandr configuration
[...]
The display property on xvimagesink configures the X11 display that is
used, e.g. ":0". If you have a multi-monitor configuration you will
still only have a single X11 display.
--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
Subodh
2014-04-09 06:27:47 UTC
Permalink
I will go through X11 documentation to understand the configuration settings.

Any suggestion regarding Monitor specific rendering using gstreamer
framework?



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Problem-setting-display-parameter-in-Xvimagesink-tp4666326p4666371.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
Sebastian Dröge
2014-04-09 06:39:32 UTC
Permalink
Post by Subodh
I will go through X11 documentation to understand the configuration settings.
Any suggestion regarding Monitor specific rendering using gstreamer
framework?
The window creation logic inside xvimagesink and other sinks is just
meant for debugging purposes. If you want any control over the windows
you should create them yourself and then embed xvimagesink into those
windows with the GstVideoOverlay interface.
--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
Loading...