Para obtener un efecto caleidoscópico de una imagen de formato PNG con los recursos del Componente 
gb.media, es necesario utilizar el elemento "
kaleidoscope" de la libreria de 
Gstreamer.
Ejemplo práctico muy sencillo:
Código:
Private tb As ToggleButton
Private dr As DrawingArea
Private imm As String
Private pl As MediaPipeline
Public Sub _new()
  Dim w As Integer
  Dim h As Integer
 
   imm = "/ruta/del/archivo/imagen.png"
 
   w = ImageStat(imm).Width
   h = ImageStat(imm).Height
 
   With Me
     .W = w + 200
     .H = w + 100
   End With
 
   With tb = New ToggleButton(Me) As "Tasto"
     .X = Me.w - 30
     .Y = 10
     .W = 30
     .H = 40
     .Text = "Start"
   End With
 
   With dr = New DrawingArea(Me)
     .X = 0
     .Y = 0
     .W = w
     .H = h
   End With
End
Public Sub Form_Open()
  Dim src, pdc, kal, con1, frz, con2, snk As MediaControl
   pl = New MediaPipeline
 
   src = New MediaControl(pl, "filesrc")
   src["location"] = imm
   pdc = New MediaControl(pl, "pngdec")
   kal = New MediaControl(pl, "kaleidoscope")
   kal["angle"] = Rad(45)
   kal["angle2"] = Rad(140)
   kal["sides"] = 10
   con1 = New MediaControl(pl, "videoconvert")
   frz = New MediaControl(pl, "imagefreeze")
   con2 = New MediaControl(pl, "videoconvert")
   snk = New MediaControl(pl, "xvimagesink")
 
   src.LinkTo(pdc)
   pdc.LinkTo(kal)
   kal.LinkTo(con1)
   con1.LinkTo(frz)
   frz.LinkTo(con2)
   con2.LinkTo(snk)
 
   snk.SetWindow(dr)
 
End
Public Sub Tasto_Click()          ' _
 
 If tb.Value Then
   pl.Play()
   tb.Text = "Stop"
 Else
   pl.Stop()
   pl.Close()
   Me.Close
 Endif
 
End