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 699791 - qtdemux: certain videos from Vivotek camera do not play - "This file is corrupt and cannot be played"
qtdemux: certain videos from Vivotek camera do not play - "This file is corru...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other Linux
: Normal normal
: 1.1.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-05-07 00:08 UTC by Jason
Modified: 2013-07-19 18:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jason 2013-05-07 00:08:39 UTC
I'm on Ubuntu 13.04 64 bit. I noticed that the MP4s from my video surveillance cameras (from a company called Vivotek) do not play back in Totem. These videos work fine with pretty much every other video player I've tried without issue.

The only information I was able to dig up on the video was via the "file" command:

jason@JS-Ubu:~/Desktop$ file 01.mp4 
01.mp4: ISO Media, MPEG v4 system, 3GPP

I wish I had more to go on, but that's where the evidence ends. I ran Totem from terminal but it gave me absolutely no output. 

I attached a link to the video in the event you folks want to download it and give it a shot.

https://www.dropbox.com/s/obdn1qfk4uau8zt/01.mp4
Comment 1 Jason 2013-05-07 00:11:53 UTC
I forgot to add, during my troubleshooting a user on the UbuntuForums felt confident it was a gstreamer issue with their results of running gst-launch-1.0 -v playbin uri=file against the file in question. I did so myself and got the following:


jason@JS-Ubu:~$ gst-launch-1.0 -v playbin uri=file:///home/jason/Desktop/01.mp4 
Setting pipeline to PAUSED ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = file:///home/jason/Desktop/01.mp4
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstFileSrc\)\ source"
Pipeline is PREROLLING ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = application/x-3gp, profile=(string)basic
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = application/x-3gp, profile=(string)basic
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0.GstPad:sink: caps = application/x-3gp, profile=(string)basic
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: This file is corrupt and cannot be played.
Additional debug info:
qtdemux.c(7644): qtdemux_parse_trak (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
Freeing pipeline ...
Comment 2 Tim-Philipp Müller 2013-05-07 10:27:09 UTC
Confirmed with git master. Haven't looked at what makes it error out yet though.
Comment 3 Tim-Philipp Müller 2013-07-19 18:40:08 UTC
This should fix it:

 commit aa7d597120a7a772fbd922202b6063a3806cf5d1
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Fri Jul 19 19:35:26 2013 +0100

    qtdemux: make files from Vivotek camera play
    
    Skip tracks of 'vivo' subtype with empty stsd instead of
    erroring out saying that the file is broken.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=699791