After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796099 - vaapih264dec: if a frame is corrupted, all the stream fails
vaapih264dec: if a frame is corrupted, all the stream fails
Status: RESOLVED DUPLICATE of bug 797006
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
unspecified
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-05-14 12:39 UTC by corrado venturini
Modified: 2018-08-31 18:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description corrado venturini 2018-05-14 12:39:39 UTC
Totem black screen with Elapsed time slider playing some .mp4.
other .mp4 are played correctly.
Problem occurs both in x11 and in wayland in Ubuntu Bionic 18.04 and Cosmic 18.10
thumbnails are correctly displayed on nautilus.

all files are successfully played by VLC, mpv and SMPlayer

corrado@corrado-p6-cc-0509:~$ totem /media/corrado/dati1/BugTotem/limone.mp4 --gst-debug-level=1
0:00:00.151180135  2754 0x7f9040176720 ERROR            vaapidecode gstvaapidecode.c:1178:gst_vaapidecode_parse_frame: parse error 8
0:00:00.151422590  2754 0x7f9040176720 ERROR            vaapidecode gstvaapidecode.c:1178:gst_vaapidecode_parse_frame: parse error 8

(totem:2754): Totem-WARNING **: 08:57:44.563: Failed to reset the playback rate to 1.0
corrado@corrado-p6-cc-0509:~$ totem /media/corrado/dati1/BugTotem/limone.mp4 --gst-debug-level=2
0:00:00.112689816  2777 0x556264569f20 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.112900665  2777 0x556264569f20 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.125083154  2777 0x7f5a7416bf70 WARN                 qtdemux qtdemux.c:7279:qtdemux_parse_container:<qtdemux0> length too long (1507328 > 27)
0:00:00.125124213  2777 0x7f5a7416bf70 WARN                 qtdemux qtdemux.c:3027:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.125226353  2777 0x7f5a7416bf70 WARN                 qtdemux qtdemux.c:3027:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2
0:00:00.125389571  2777 0x7f5a7416bf70 WARN                 basesrc gstbasesrc.c:2445:gst_base_src_update_length:<source> processing at or past EOS
0:00:00.147965118  2777 0x7f5a74174720 WARN       codecparsers_h264 gsth264parser.c:2195:gst_h264_parser_parse_slice_hdr: value greater than max. value: 31, max 2
0:00:00.147991704  2777 0x7f5a74174720 WARN       codecparsers_h264 gsth264parser.c:2219:gst_h264_parser_parse_slice_hdr: error parsing "Slice header"
0:00:00.148004556  2777 0x7f5a74174720 ERROR            vaapidecode gstvaapidecode.c:1178:gst_vaapidecode_parse_frame: parse error 8
0:00:00.153646724  2777 0x7f5a74174720 WARN       codecparsers_h264 gsth264parser.c:2195:gst_h264_parser_parse_slice_hdr: value greater than max. value: 31, max 2
0:00:00.153666189  2777 0x7f5a74174720 WARN       codecparsers_h264 gsth264parser.c:2219:gst_h264_parser_parse_slice_hdr: error parsing "Slice header"
0:00:00.153674754  2777 0x7f5a74174720 ERROR            vaapidecode gstvaapidecode.c:1178:gst_vaapidecode_parse_frame: parse error 8

(totem:2777): Totem-WARNING **: 08:58:22.504: Failed to reset the playback rate to 1.0
corrado@corrado-p6-cc-0509:~$ 

corrado@corrado-p6-cc-0509:~$ inxi -SCGx
System:    Host: corrado-p6-cc-0509 Kernel: 4.15.0-20-generic x86_64 bits: 64 compiler: gcc v: 7.3.0 
           Desktop: Gnome 3.28.1 Distro: Ubuntu Cosmic Cuttlefish (development branch) 
CPU:       Topology: Dual Core model: Intel Core i3-7100 bits: 64 type: MT MCP arch: Skylake rev: 9 
           L2 cache: 3072 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 31296 
           Speed: 801 MHz min/max: 800/3900 MHz Core speeds (MHz): 1: 801 2: 800 3: 800 4: 800 
Graphics:  Card-1: Intel HD Graphics 630 driver: i915 v: kernel bus ID: 00:02.0 
           Display: x11 server: X.Org 1.19.6 driver: i915 resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 630 (Kaby Lake GT2) v: 4.5 Mesa 18.0.2 
           direct render: Yes 
corrado@corrado-p6-cc-0509:~$ apt policy totem
totem:
  Installed: 3.26.0-0ubuntu6
  Candidate: 3.26.0-0ubuntu6
  Version table:
 *** 3.26.0-0ubuntu6 500
        500 http://archive.ubuntu.com/ubuntu cosmic/main amd64 Packages
        100 /var/lib/dpkg/status
corrado@corrado-p6-cc-0509:~$
Comment 1 Bastien Nocera 2018-05-14 12:42:42 UTC
Remove the GStreamer VA-API plugin in the meanwhile.
Comment 2 Víctor Manuel Jáquez Leal 2018-05-14 13:22:12 UTC
Can you share the media?
Comment 3 corrado venturini 2018-05-14 16:41:05 UTC
@Bastian: what is the package name of GStreamer VA-API plugin?
@Victor:
The smaller media causing the problem is about 29MB (also compressed).
If I cut a part of the file with 'ffmpeg -ss 15 -i limone.mp4 -to 5 limox.mp4'
the resulting 'limox.mp4' does not have the problem so I suspect the original file is somehow corrupted, but why other players (VLC, mpv and SMPlayer) are able to play it?
Comment 4 Víctor Manuel Jáquez Leal 2018-05-14 17:07:26 UTC
(In reply to corrado venturini from comment #3)
> @Bastian: what is the package name of GStreamer VA-API plugin?

https://packages.ubuntu.com/cosmic/gstreamer1.0-vaapi

> @Victor:
> The smaller media causing the problem is about 29MB (also compressed).
> If I cut a part of the file with 'ffmpeg -ss 15 -i limone.mp4 -to 5
> limox.mp4'
> the resulting 'limox.mp4' does not have the problem so I suspect the
> original file is somehow corrupted, but why other players (VLC, mpv and
> SMPlayer) are able to play it?

Because other players might be less pickier with non-conformance media. That doesn't mean that we couldn't do it better.

Can you place the media somewhere, like google, where I can grab it?
Comment 6 corrado venturini 2018-05-15 08:47:26 UTC
removed gstreamer1.0-vaapi. now my .mp4 are correctly played.
should i open a new problem against gstreamer1.0-vaapi ? 
thanks

it seems this plugin gives a lot of problems:
https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1721248
https://bugs.launchpad.net/ubuntu/+source/gstreamer-vaapi/+bug/1730502
https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1732204

corrado@corrado-p6-cc-0509:~$ totem /media/corrado/dati1/BugTotem/limone.mp4 --gst-debug-level=2
0:00:00.160746861  4297 0x55bcb7158120 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.161058686  4297 0x55bcb7158120 WARN                 basesrc gstbasesrc.c:3583:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.171261160  4297 0x7f7b78165ca0 WARN                 qtdemux qtdemux.c:7279:qtdemux_parse_container:<qtdemux0> length too long (1507328 > 27)
0:00:00.171311685  4297 0x7f7b78165ca0 WARN                 qtdemux qtdemux.c:3027:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.171392825  4297 0x7f7b78165ca0 WARN                 qtdemux qtdemux.c:3027:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2
0:00:00.171614798  4297 0x7f7b78165ca0 WARN                 basesrc gstbasesrc.c:2445:gst_base_src_update_length:<source> processing at or past EOS
0:00:00.214097181  4297 0x7f7b7c1614d0 ERROR                  libav :0:: A non-intra slice in an IDR NAL unit.
0:00:00.214126262  4297 0x7f7b7c1614d0 ERROR                  libav :0:: decode_slice_header error
0:00:00.235002426  4297 0x7f7b700782d0 WARN         audio-resampler audio-resampler.c:274:convert_taps_gint16_c: can't find exact taps
0:00:00.245216818  4297 0x55bcb7158120 WARN                   totem bacon-video-widget.c:2074:bvw_update_tags: Pipeline sent video tags update with no changes
corrado@corrado-p6-cc-0509:~$
Comment 7 Víctor Manuel Jáquez Leal 2018-05-15 09:02:10 UTC
(In reply to corrado venturini from comment #6)
> removed gstreamer1.0-vaapi. now my .mp4 are correctly played.
> should i open a new problem against gstreamer1.0-vaapi ? 
> thanks

This bug is already assigned to gstreamer-vaapi component in gstreamer upstream.

The problem here is clearly a non-valid stream. Nonetheless, other decoders  just ignore the corrupted frames, but gstreamer-vaapi fails.

It could be possible to add a bit more fault tolerance to gstreamer-vaapi by dropping the corrupted frames, instead of ditching the whole stream.
Comment 8 corrado venturini 2018-05-15 12:16:35 UTC
for the other problems (maybe just same problem 3 times) in launchpad related to gstreamer1.0-vaapi shuld i open a new probem here in bugzilla? or are they already known?
thank a lot
corrado
Comment 9 Víctor Manuel Jáquez Leal 2018-05-15 12:33:53 UTC
(In reply to corrado venturini from comment #8)
> for the other problems (maybe just same problem 3 times) in launchpad
> related to gstreamer1.0-vaapi shuld i open a new probem here in bugzilla? or
> are they already known?

They look quite similar. But I would say leave them in launchpad, perhaps Daniel could triage them and then file a bug here.
Comment 10 Víctor Manuel Jáquez Leal 2018-08-28 17:45:58 UTC
this issue gets fixed with patches in bug 797006
Comment 11 Nicolas Dufresne (ndufresne) 2018-08-31 18:38:32 UTC

*** This bug has been marked as a duplicate of bug 797006 ***