|
List Info
Thread: Problem with capsfilter
|
|
| Problem with capsfilter |

|
2007-01-05 09:19:10 |
|
Hi all,
I’ve modified as a test ffmpegcolorspace plugin in
order to add a new capability that has zorder parameter (I need to do some
overlaying of different sources) as you can see by the following ‘gst-inspect
ffmpegcolorspace’:
…230;
video/x-raw-rgb-zorder
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
bpp:
16
depth: 16
red_mask: 63488
green_mask: 2016
blue_mask: 31
zorder: [ 0, 1024 ]
endianness: 1234
…230;
This apply both for SINK and SRC of ffmpegcolorspace. Then I
add the same capability to sdlvideosink as ‘gst-inspect sdlvideosink’
shows up (note that my version of sdvidesink has no yuv cap since I’ve to
write directly on rgb surface):
…230;
GObject
+----GstObject
+----GstElement
+----GstBaseSink
+----GstVideoSink
+----GstSDLVideoSink
Implemented Interfaces:
GstNavigation
GstXOverlay
GstImplementsInterface
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
video/x-raw-rgb
bpp: 16
depth: 16
endianness: 1234
red_mask: 63488
green_mask: 2016
blue_mask: 31
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 100/1 ]
video/x-raw-rgb-zorder
bpp: 16
depth: 16
endianness: 1234
red_mask: 63488
green_mask: 2016
blue_mask: 31
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
zorder: [ 0, 1024 ]
framerate: [ 0/1, 100/1 ]
…230;
If I try to create the pipeline like this:
GST_REGISTRY_FORK=no ./gst-launch videotestsrc pattern=1 !
ffmpegcolorspace zorder=56 ! video/x-raw-rgb-zorder,
framerate=(fraction)30/1, width=100,height=100 ! sdlvideosink
I get:
“WARNING: erroneous pipeline: could not link
ffmpegcsp0 to sdlvideosink0”
I’ve look deeper into the code and realize that ffmpegcsp0:src
has not ‘zorder’ capability anymore, whilst ffmpegcsp0:sink does. Of
course, subsequent caps_intersect with capsfilter0 and sdlvidesink0 will result
in an EMPTY set since ‘zorder’ capability is not on the way. The
strange thing is if I try:
GST_REGISTRY_FORK=no ./gst-launch ffmpegcolorspace zorder=56
! video/x-raw-rgb-zorder, framerate=(fraction)30/1, width=100,height=100 !
sdlvideosink
‘zorder’ caps reappear on ffmpegcsp0:src and the
pipeline gets created (though not PLAYING since there̵7;s no real source to
push buffers)
Any clue on this? If it can help, I can attach the caps list
for both cases (not in this mail since it’s quite long!).
Many thanks in advance,
Andrea della Porta
|
[1]
|
|
|
about | contact Other archives ( Real Estate discussion Medical topics )
|