Opened 8 years ago

Closed 6 years ago

#1955 closed defect (wontfix)

Segfault on a valid WMV3 video file with DMO (windows binary) video codec

Reported by: t.artem@… Owned by: reimar
Priority: if idle Component: build system
Version: HEAD Severity: minor
Keywords: Cc: reimar, compn, tommassez@…
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

ffplay 0.7.0 plays it just fine.

When I delete win32 binary codecs mplayer plays it just fine.

MPlayer SVN-r33951-4.5.3 (C) 2000-2011 MPlayer Team
CPU vendor name: GenuineIntel? max cpuid level: 13
CPU: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (Family: 6, Model: 42, Stepping: 7)
extended cpuid-level: 8
extended cache-info: 16801856
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 SSSE3 CMOV
get_path('codecs.conf') -> '/home/birdie/.mplayer/codecs.conf'
Reading optional codecs config file /home/birdie/.mplayer/codecs.conf: No such file or directory
Reading optional codecs config file /usr/local/etc/mplayer/codecs.conf: 163 audio & 363 video codecs
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay?
get_path('fonts') -> '/home/birdie/.mplayer/fonts'
Configuration: --disable-vidix --enable-gui --enable-dynamic-plugins --enable-menu --enable-radio --enable-radio-capture --disable-inet6 --disable-arts --disable-esd --disable-smb --disable-openal --disable-lirc
CommandLine?: '-v' 'bird_articulated.wmv'
Using nanosleep() timing
get_path('input.conf') -> '/home/birdie/.mplayer/input.conf'
Parsing input config file /home/birdie/.mplayer/input.conf
Input config file /home/birdie/.mplayer/input.conf parsed: 3 binds
get_path('bird_articulated.wmv.conf') -> '/home/birdie/.mplayer/bird_articulated.wmv.conf'

Playing bird_articulated.wmv.
get_path('sub/') -> '/home/birdie/.mplayer/sub/'
[file] File size is 1109484 bytes
STREAM: [file] bird_articulated.wmv
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: ASF format
Checking for YUV4MPEG2
ASF file format detected.
stream type: guid_audio_stream
stream concealment: guid_audio_conceal_interleave
type: 28 bytes, stream: 8 bytes ID: 1
unk1: 0 unk2: 641B10F3
FILEPOS=0x13F0
==> Found audio stream: 1
[asfheader] Audio stream found, -aid 1
======= WAVE Format =======
Format Tag: 353 (0x161)
Channels: 2
Samplerate: 48000
avg byte/sec: 24000
Block align: 4096
bits/sample: 16
cbSize: 10
Unknown extra header dump: [0] [88] [0] [0] [f] [0] [0] [0] [0] [0]
==========================================================================
ASF: audio scrambling: 1 x 1 x 4096
stream type: guid_video_stream
stream concealment: unknown guid 0057fb20-555b-cf11-a8fd00805f5c442b
type: 56 bytes, stream: 0 bytes ID: 2
unk1: 0 unk2: 0
FILEPOS=0x1462
==> Found video stream: 2
[asfheader] Video stream found, -vid 2
======= VIDEO Format ======

biSize 45
biWidth 720
biHeight 480
biPlanes 1
biBitCount 24
biCompression 861293911='WMV3'
biSizeImage 0

Unknown extra header dump: [4f] [f9] [0] [1] [0]
===========================
ASF: packets: 138 flags: 2 max_packet_size: 8000 min_packet_size: 8000 max_bitrate: 3017456 preroll: 5000
============ ASF Stream group == START ===

stream count=[0x2][2]

stream id=[0x1][1]
max bitrate=[0x302a9][197289]
stream id=[0x2][2]
max bitrate=[0x2b0847][2820167]

============ ASF Stream group == END ===
Found movie at 0x14F2 - 0x10ED72
ASF: 1 audio and 1 video streams found
Auto-selected ASF video ID = 2
ASF: Searching for audio stream (id:-1).
Auto-selected ASF audio ID = 1
VIDEO: [WMV3] 720x480 24bpp 1000.000 fps 2799.0 kbps (341.7 kbyte/s)
[V] filefmt:6 fourcc:0x33564D57 size:720x480 fps:1000.000 ftime:=0.0010
Load subtitles in ./
get_path('sub/') -> '/home/birdie/.mplayer/sub/'
X11 opening display: :0
vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1600x1200 with depth 24 and 32 bpp (":0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
==========================================================================
Opening video decoder: [dmo] DMO video codecs
get_path('registry') -> '/home/birdie/.mplayer/registry'
DMO dll supports VO Optimizations 0 1
DMO dll might use previous sample when requested

MPlayer interrupted by signal 11 in module: init_video_codec

Attachments (1)

sample.wmv (488.3 KB) - added by t.artem@… 8 years ago.
a sample video clip

Download all attachments as: .zip

Change History (13)

Changed 8 years ago by t.artem@…

a sample video clip

comment:1 Changed 8 years ago by t.artem@…

comment:2 Changed 8 years ago by diego@…

  • Owner changed from diego@… to reimar

Assigning to Reimar, but I suspect this is WONTFIX, we cannot change DLLs.

comment:3 Changed 8 years ago by t.artem@…

(In reply to comment #2)

Assigning to Reimar, but I suspect this is WONTFIX, we cannot change DLLs.

I cannot disagree, but mplayer at least could probably try a built in codec (which actually works fine).

comment:4 Changed 8 years ago by reimar

Some clarifications:
First, MPlayer can and does patch binary codecs actually, at runtime.
Secondly, the native decoder still has some issues, it does not support some beta-version formats or interlacing.
Overall, the assumption is that if a binary codec is provided, users want it to be used and have made sure they got a working version.
It would be somewhat interesting to know what binary codec you used, where you got it from and why it crashed (does it crash only with that file?).
But in the end I do think that the current behaviour is mostly as intended really...

comment:5 Changed 8 years ago by t.artem@…

(In reply to comment #4)

My binary codec was download years ago from mplayerhq website (included in the win32 binary codecs official package).

If you'd like, I can upload the codec files somewhere.

It plays other WMV files without any problems.

comment:6 Changed 8 years ago by compn

  • Cc patriotact@… added

did you try the other wmv3 decoders?

iirc there is -vc wmvdmo and -vc wmv9dmo
but like everyone says, if binary crashes there isnt much we can do.

comment:7 Changed 8 years ago by t.artem@…

  • Priority changed from normal to if idle
  • Severity changed from major to minor
  • Status changed from new to assigned

(In reply to comment #6)

did you try the other wmv3 decoders?

iirc there is -vc wmvdmo and -vc wmv9dmo
but like everyone says, if binary crashes there isnt much we can do.

Like I've already mentioned, the built-in WMV decoder handles this file just fine. So maybe you have to adjust priority of codecs for MPlayer so that built-in open source decoders are always tried first.

comment:8 Changed 8 years ago by compn

i was just curious if the other dmo decoder worked on it.
mplayer -vc wmvdmo sample.wmv
mplayer -vc wmv9dmo sample.wmv

the problem is that when the binary codec crashes, it crashes mplayer as well, since mplayer doesnt start a new thread to use the decoder.

thus, it cant fallback to the native decoder when it crashes.
i vote for putting native decoders above priority of binary decoders.

maybe if the ffwmv3 decoder detected interlaced frames and would quit so the binary codec could give it a try.

actually, do we even have wmv3 interlaced samples?
does wmv3 interlaced exist?

comment:9 Changed 8 years ago by compn

oops, there is wmv3 interlaced, nevermind.

comment:10 Changed 8 years ago by tommassez@…

  • Cc tommassez@… added

comment:11 Changed 8 years ago by t.artem@…

  • Cc Reimar.Doeffinger@… added

comment:12 Changed 6 years ago by t.artem@…

  • Resolution set to wontfix
  • Status changed from assigned to closed

Now that WMV3/WMV9 is supported natively, I guess we can close this bug report.

Note: See TracTickets for help on using tickets.