<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>10287</bug_id>
          
          <creation_ts>2016-09-15 21:02:09 +0000</creation_ts>
          <short_desc>gst-play is broken</short_desc>
          <delta_ts>2016-12-14 21:23:01 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>graphics</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.3 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gary Thomas">gary</reporter>
          <assigned_to name="Jussi Kukkonen">jku</assigned_to>
          <cc>jku</cc>
    
    <cc>jose.perez.carranza</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>ross.burton</cc>
          
          <qa_contact name="David Lopez Barriba">davidx.lopez.barriba</qa_contact>
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>66230</commentid>
    <comment_count>0</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-15 21:02:09 +0000</bug_when>
    <thetext>Using gst-play from Poky/Yocto rev de915fb7d387a7a3dcaba61b6e116bb28db9d8ff (current as of 2016-09-15), gst-play is useless for most media files.

Please try with http://www.mlbassoc.com/misc/Vlad+Louise.mp4 (copy to local storage) - it will freeze and be basically useless.

To test this, I added these options to my &apos;core-image-sato&apos; build:
CORE_IMAGE_EXTRA_INSTALL += &quot; \
              gst-player-bin \
              gstreamer1.0-libav \
&quot;
LICENSE_FLAGS_WHITELIST += &quot;commercial_gstreamer1.0-libav &quot;

I&apos;ve tried it on my i.MX6, RaspberryPi-3 and qemu86 - all broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66232</commentid>
    <comment_count>1</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-15 21:40:08 +0000</bug_when>
    <thetext>Can you elaborate on broken, and what happens if you use the command-line player to see any messages that it emits?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66237</commentid>
    <comment_count>2</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-16 04:36:36 +0000</bug_when>
    <thetext>As mentioned in the original report, the video will freeze.  In one run (on qemu)
there was no change in the video display from the first frame until about 20 seconds in, then it froze again and there was no other change for many seconds.  The audio seems to run OK (no clicks or pauses).  I&apos;ve tried other media players (mpv, mplayer2) on the same targets and they can play this video with no troubles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66241</commentid>
    <comment_count>3</comment_count>
    <who name="Jussi Kukkonen">jku</who>
    <bug_when>2016-09-16 12:06:31 +0000</bug_when>
    <thetext>&gt; Please try with http://www.mlbassoc.com/misc/Vlad+Louise.mp4 (copy
&gt; to local storage) - it will freeze and be basically useless.

Works for me on an old NUC running intel-corei7-64: no frame drops or other visible problems, CPU usage is maybe 2%.

qemu running qemux86-64 manages to play the video without problems but works a lot harder, CPU usage maybe 30%. I can imagine that on a less beefy host that might be choppy...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66244</commentid>
    <comment_count>4</comment_count>
    <who name="Jussi Kukkonen">jku</who>
    <bug_when>2016-09-16 13:03:01 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; qemu running qemux86-64 manages to play the video without problems but works
&gt; a lot harder, CPU usage maybe 30%. I can imagine that on a less beefy host
&gt; that might be choppy...

qemux86 plays the clip as well, although with even higher load average.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66257</commentid>
    <comment_count>5</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-16 16:55:36 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; qemu running qemux86-64 manages to play the video without problems but works
&gt; &gt; a lot harder, CPU usage maybe 30%. I can imagine that on a less beefy host
&gt; &gt; that might be choppy...
&gt; 
&gt; qemux86 plays the clip as well, although with even higher load average.

So what could be the difference?  My qemux86 test is on a snappy &apos;Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz&apos;, albeit over an SSH connection.  The other tests are on the local hardware.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66259</commentid>
    <comment_count>6</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-16 17:06:37 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; qemu running qemux86-64 manages to play the video without problems but works
&gt; &gt; &gt; a lot harder, CPU usage maybe 30%. I can imagine that on a less beefy host
&gt; &gt; &gt; that might be choppy...
&gt; &gt; 
&gt; &gt; qemux86 plays the clip as well, although with even higher load average.
&gt; 
&gt; So what could be the difference?  My qemux86 test is on a snappy &apos;Intel(R)
&gt; Core(TM) i5-4460  CPU @ 3.20GHz&apos;, albeit over an SSH connection.  The other
&gt; tests are on the local hardware.

I can provide comparative videos (taken of my target hardware) of gst-play vs other media players on Yocto and the exact same system where the gst-play is horrible and other media players work just fine... (e.g. on my RaspberryPi-3)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66265</commentid>
    <comment_count>7</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-16 19:08:02 +0000</bug_when>
    <thetext>It&apos;s always useful to pin down gst-play vs gst-launch, and identify if there&apos;s any particular pipeline that isn&apos;t working (ie is it doing video colourspace conversion via software OpenGL).

Also can you replicate if you go back to say the 2.2M2 snapshot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66283</commentid>
    <comment_count>8</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-17 11:11:38 +0000</bug_when>
    <thetext>(In reply to comment #7)
&gt; It&apos;s always useful to pin down gst-play vs gst-launch, and identify if
&gt; there&apos;s any particular pipeline that isn&apos;t working (ie is it doing video
&gt; colourspace conversion via software OpenGL).
&gt; 
&gt; Also can you replicate if you go back to say the 2.2M2 snapshot.

I tried going back as far as the current krogoth branch and it still doesn&apos;t work for me (at least on qemux86)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66306</commentid>
    <comment_count>9</comment_count>
    <who name="Jussi Kukkonen">jku</who>
    <bug_when>2016-09-19 11:27:00 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; qemux86 plays the clip as well, although with even higher load average.
&gt; 
&gt; So what could be the difference?  My qemux86 test is on a snappy &apos;Intel(R)
&gt; Core(TM) i5-4460  CPU @ 3.20GHz&apos;, albeit over an SSH connection.

My experience is that qemu runs pretty badly on X-over-SSH. I wouldn&apos;t trust video quality tests on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66307</commentid>
    <comment_count>10</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-19 11:39:41 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; qemux86 plays the clip as well, although with even higher load average.
&gt; &gt; 
&gt; &gt; So what could be the difference?  My qemux86 test is on a snappy &apos;Intel(R)
&gt; &gt; Core(TM) i5-4460  CPU @ 3.20GHz&apos;, albeit over an SSH connection.
&gt; 
&gt; My experience is that qemu runs pretty badly on X-over-SSH. I wouldn&apos;t trust
&gt; video quality tests on that.

Fair enough, but as I mentioned, I&apos;ve also tried it directly on the desktop,
and it still didn&apos;t work for me.

I&apos;m currently preparing to try it on another reference platform [beaglebone-black] and will let you know the outcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66354</commentid>
    <comment_count>11</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-20 10:33:45 +0000</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; qemux86 plays the clip as well, although with even higher load average.
&gt; &gt; &gt; 
&gt; &gt; &gt; So what could be the difference?  My qemux86 test is on a snappy &apos;Intel(R)
&gt; &gt; &gt; Core(TM) i5-4460  CPU @ 3.20GHz&apos;, albeit over an SSH connection.
&gt; &gt; 
&gt; &gt; My experience is that qemu runs pretty badly on X-over-SSH. I wouldn&apos;t trust
&gt; &gt; video quality tests on that.
&gt; 
&gt; Fair enough, but as I mentioned, I&apos;ve also tried it directly on the desktop,
&gt; and it still didn&apos;t work for me.
&gt; 
&gt; I&apos;m currently preparing to try it on another reference platform
&gt; [beaglebone-black] and will let you know the outcome.

Equally bad on the beaglebone-black I&apos;m afraid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66489</commentid>
    <comment_count>12</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-22 14:36:00 +0000</bug_when>
    <thetext>Just noticed that you&apos;re using gst-libav, so I suspect the actual problem is there and not gst-play.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66500</commentid>
    <comment_count>13</comment_count>
    <who name="Gary Thomas">gary</who>
    <bug_when>2016-09-22 15:25:51 +0000</bug_when>
    <thetext>(In reply to comment #12)
&gt; Just noticed that you&apos;re using gst-libav, so I suspect the actual problem is
&gt; there and not gst-play.

So what are the options to play this .mp4 file with gst-play?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66501</commentid>
    <comment_count>14</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-22 15:28:17 +0000</bug_when>
    <thetext>Hardware-specific, really.  For x86, gst-vaapi.  For beagle and RPi, I&apos;ve no idea what is best of class and if it should be libav.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66617</commentid>
    <comment_count>15</comment_count>
    <who name="Jussi Kukkonen">jku</who>
    <bug_when>2016-09-27 08:23:08 +0000</bug_when>
    <thetext>I&apos;m afraid I don&apos;t know how to push this issue forward: video playback works for me on multiple intel-based machines (and qemux86*) and I don&apos;t have imx6 or rpi to test with. If you have a case where intel hardware really can&apos;t play video I can continue looking into it. Likewise for qemux86* although it may be slightly less useful: we can&apos;t expect hw decode to work there so any tests with a decode step should be taken with a grain of salt.

For the other platforms I can only refer to Ross&apos; earlier comment: 

(In reply to comment #7)
&gt; It&apos;s always useful to pin down gst-play vs gst-launch, and identify if
&gt; there&apos;s any particular pipeline that isn&apos;t working (ie is it doing video
&gt; colourspace conversion via software OpenGL).

I&apos;d run gst-launch using playbin with GST_DEBUG_DUMP_DOT_DIR set:

  GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch-1.0 playbin uri=file:///home/jku/Vlad+Louise.mp4

This gets you a bunch of dot files that graphviz can convert to images describing the pipeline playbin builds -- probably a very close approximation of what gtk-play does. If there&apos;s anything odd in the pipeline I&apos;d try to create one manually (without playbin).

In addition I would look at any platform specific components you might need -- e.g. the earlier raspberries required gst-omx (for the hw-specific h264 decoder element) and meta-freescale has a recipe that provides some gst elements: are these hw specific elements available and do they end up in the pipeline?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68891</commentid>
    <comment_count>16</comment_count>
    <who name="Jussi Kukkonen">jku</who>
    <bug_when>2016-12-07 09:49:25 +0000</bug_when>
    <thetext>I believe Gary is seeing an actual bug somewhere but my current guess is that the bug is in rpi video acceleration support and not yocto itself: GStreamer video acceleration works for me and QA on various Intel hardware (and qemu although that&apos;s less relevant).

So I&apos;m closing this for now: If you have any more info, please reopen.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>