<div>thanks Matthew。</div><div><br></div><div>I know little about totem/gtk3, just wonder why not use waylandsink to render video directly to a wl_surface/wl_sub_surface. </div><div>it means to create a gtk widget which associates with a wl_sub_surface, it is a child of the main window but skip gl composition inside app.</div><div><br></div><div>for a dedicated video player app, texture video is just the favor of developer, not the interest of end-user.</div><br><br><div id="">--------------------------------<br></div><div id=""><br></div><br><div id="origbody"><div style="background: #f2f2f2;">----- 原始邮件 -----<br>发件人:Matthew Waters <ystreet00@gmail.com><br>收件人:halleyzhao@sina.com, Discussion of the development of and with GStreamer <gstreamer-devel@lists.freedesktop.org><br>主题:Re: if we plan to remove TEXTURE_UPLOAD, what will be used instead?<br>日期:2019年09月11日 17点10分<br></div><br>
  
  
    <div class="">Hi,<br>
      <br>
      1. clutter is effectively unmaintained and is really the only
      major user of the gl upload meta so the first move is to remove
      the clutter dependency inside totem.  There are replacement Gtk
      sink elements (gtkglsink and gtksink) for Gtk3 that can be used. 
      For Gtk4, the equivalent elements would need to written.<br>
      2. The general case for OpenGL within a Gstreamer context is to
      use the libgstgl-1.0 library and the associated elements
      (glupload, glcolorconvert, etc).  One can pass OpenGL textures
      between elements using GstGLMemory with much more information than
      was ever possible with the upload meta. Currently libgstgl does
      include a upload meta implementation however that implementation
      will only be used if nothing else is found (except for upload from
      system memory).<br>
      <br>
      Cheers<br>
      -Matt<br>
      <br>
      On 11/9/19 6:24 pm, HalleyZhao wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20190911082449.8BF7D2D0009E@webmail.sinamail.sina.com.cn">
      
      <div>Hi experts:</div>
      <div>from the following thread, I notice that community plans to
        remove TEXTURE_UPLOAD/GstGLUploadTextureMeta.</div>
      <div>then what will be used instead?</div>
      <div>take totem as example, it is problemtic to use clutter-sink
        with hardware accerelated decoder.</div>
      <div>then what's the decent way to render video in totem?</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div><a target="_blank" href="https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/137" moz-do-not-send="true">https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/137</a></div>
      <div class="" style="box-sizing: border-box; display:
        flex; justify-content: space-between; color: rgb(46, 46, 46);
        font-family: -apple-system, BlinkMacSystemFont, "Segoe
        UI", Roboto, "Noto Sans", Ubuntu, Cantarell,
        "Helvetica Neue", sans-serif, "Apple Color
        Emoji", "Segoe UI Emoji", "Segoe UI
        Symbol", "Noto Color Emoji"; font-size: 14px;">
        <div class="" discussion-id="" style="box-sizing:
          border-box; align-self: flex-start; flex-shrink: 0; display:
          inline-flex; align-items: center; margin-left: 10px; color:
          rgb(145, 145, 145);"><span class="" style="box-sizing: border-box; display: inline-block; color:
            rgb(112, 112, 112); font-size: 12px; line-height: 20px;
            padding: 0px 7px; border: 1px solid rgb(229, 229, 229);
            border-radius: 100px; margin: 0px 3px;">Maintainer</span></div>
      </div>
      <div class="" style="box-sizing:
        border-box; color: rgb(46, 46, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Roboto, "Noto
        Sans", Ubuntu, Cantarell, "Helvetica Neue",
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji", "Segoe UI Symbol", "Noto Color
        Emoji"; font-size: 14px;">
        <div class="" style="box-sizing: border-box; overflow:
          auto hidden;">
          <div class="" style="box-sizing: border-box;
            overflow-wrap: break-word;">
            <blockquote data-sourcepos="1:1-1:48" dir="auto" style="box-sizing: border-box; margin: 0px 0px 16px;
              color: rgb(127, 143, 164); font-size: inherit; padding:
              8px 24px; border-left: 3px solid rgb(234, 234, 234);
              text-align: initial;">
              <p data-sourcepos="1:3-1:48" style="box-sizing:
                border-box; margin-right: 0px; margin-left: 0px;
                font-size: inherit; line-height: 1.5;">TEXTURE_UPLOAD as
                deprecated for next gst 1.18</p>
            </blockquote>
            <p data-sourcepos="3:1-3:47" dir="auto" style="box-sizing:
              border-box; margin-right: 0px; margin-bottom: 16px;
              margin-left: 0px; text-align: initial;">TEXTURE_UPLOAD is
              planned to be removed for 2.0</p>
            <p data-sourcepos="5:1-5:252" dir="auto" style="box-sizing:
              border-box; margin-right: 0px; margin-bottom: 16px;
              margin-left: 0px; text-align: initial;">I removed
              TEXTURE_UPLOAD support in Wayland from gstreamer-vaapi for
              release 1.14, if I recall correctly, but for Canonical it
              was a regression, and Daniel van Vught devoted a lot of
              time to make it work, but as we confirm now, only for
              Intel's driver.</p>
            <div style="box-sizing: border-box; margin-right: 0px;
              margin-left: 0px; text-align: initial;">We are devoting a
              lot of time supporting a deprecated transfer mechanism
              because people demand it. Every time I think about it, I
              realized that I have said "no" when Daniel pushed for it.</div>
            <div style="box-sizing: border-box; margin-right: 0px;
              margin-left: 0px; text-align: initial;"><br>
            </div>
          </div>
        </div>
      </div>
      <div id="">--------------------------------<br>
      </div>
      <div id=""><br>
      </div>
      <br>
      <fieldset class=""></fieldset>
      <pre class="" wrap="">_______________________________________________
gstreamer-devel mailing list
<a target="_blank" class="" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a target="_blank" class="" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
    </blockquote>
  


_______________________________________________<br>gstreamer-devel mailing list<br>gstreamer-devel@lists.freedesktop.org<br>https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</div>