Opened 9 years ago

Closed 9 years ago

#6643 closed bug (fixed)

Most videos that used to play in MediaPlayer do not play anymore.

Reported by: bga Owned by: stippi
Priority: normal Milestone: R1
Component: Applications/MediaPlayer Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

I have this demo machine where I collected a series of videos that used to play fine in MediaPlayer but do not anymore. The major problem seems to be that most MPEG files do not play anymore at all, simply crashing MediaPlayer with this probably not very helpful stack trace:

#0  0x01dceb62 in init_vlc_sparse ()
   from /boot/system/add-ons/media/plugins/ffmpeg
#1  0x01ec5655 in ff_mpeg12_init_vlcs ()
   from /boot/system/add-ons/media/plugins/ffmpeg
#2  0x0266c83a in table.285 () from /boot/system/add-ons/media/plugins/ffmpeg
#3  0x00000009 in ?? ()
#4  0x00000011 in ?? ()
#5  0x10400238 in ?? ()
#6  0x00000002 in ?? ()
#7  0x00000001 in ?? ()
#8  0x10400237 in ?? ()
#9  0x00000002 in ?? ()
#10 0x00000001 in ?? ()
#11 0x00000000 in ?? ()
#12 0x00000000 in ?? ()
#13 0x00000000 in ?? ()
#14 0x00000004 in ?? ()
#15 0x01ec54fe in ff_mpeg12_common_init ()
   from /boot/system/add-ons/media/plugins/ffmpeg
#16 0x01ec5573 in ff_mpeg12_init_vlcs ()
   from /boot/system/add-ons/media/plugins/ffmpeg
#17 0x0237a5f8 in ?? () from /boot/system/add-ons/media/plugins/ffmpeg
#18 0x18173ed0 in ?? ()
#19 0x1812e660 in ?? ()
---Type <return> to continue, or q <return> to quit---
#20 0x01ec70c2 in mpeg_decode_init ()
   from /boot/system/add-ons/media/plugins/ffmpeg
#21 0x18173ed0 in ?? ()
#22 0x00000000 in ?? ()
#23 0x000029fc in ?? ()
#24 0x01ec70e4 in mpeg_decode_init ()
   from /boot/system/add-ons/media/plugins/ffmpeg
#25 0x0237a5f8 in ?? () from /boot/system/add-ons/media/plugins/ffmpeg
#26 0x1812e660 in ?? ()
#27 0x02386940 in done.274 () from /boot/system/add-ons/media/plugins/ffmpeg
#28 0x00a146d8 in BPrivate::superblock::superblock ()
   from /boot/system/lib/libroot.so
Previous frame inner to this frame (corrupt stack?)

The problematic files do play ok in VLC. Here is what its debug output say:

main input : selecting program id=0
main decoder : looking for decoder module: 21 candidates
main decoder : using decoder module "mpeg_audio"
main decoder : thread 8758 (decoder) created at priority 10 (input/decoder.c:159)
main decoder : looking for decoder module: 21 candidates
main decoder : using decoder module "libmpeg2"
main decoder : thread 8759 (decoder) created at priority 5 (input/decoder.c:159)
libmpeg2 decoder : 320x240 (display 320,240), aspect 576000, sar 1:1, 24.000 fps
main decoder : no usable vout present, spawning one
main video output : window size: 320x240

I have at least one other MPEG file that does not crash media player but it complains that there is no codec to handle it. VLC does play it and has the following to say about it:

main input : selecting program id=0
main decoder : looking for decoder module: 21 candidates
main decoder : using decoder module "mpeg_audio"
main decoder : thread 8724 (decoder) created at priority 10 (input/decoder.c:159)
mpeg_audio decoder : MPGA channels:2 samplerate:44100 bitrate:192
main decoder : no aout present, spawning one
main decoder : looking for decoder module: 21 candidates
main decoder : using decoder module "libmpeg2"
main decoder : thread 8725 (decoder) created at priority 5 (input/decoder.c:159)
main audio output : looking for audio output module: 2 candidates
main audio output : using audio output module "beos"
main audio output : output 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes
main audio output : mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes
main audio output : no need for any filter
main audio output : looking for audio mixer module: 3 candidates
main audio output : using audio mixer module "trivial_mixer"
main audio output : input 'mpga' 44100 Hz Stereo frame=1152 samples/1262 bytes
main audio output : filter(s) 'mpga'->'fl32' 44100 Hz->44100 Hz Stereo->Stereo
main audio output : looking for audio filter module: 24 candidates
main audio output : using audio filter module "mpgatofixed32"
main audio output : found a filter for the whole conversion
main audio output : filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo
main audio output : looking for audio filter module: 24 candidates
main audio output : using audio filter module "bandlimited_resampler"
main audio output : found a filter for the whole conversion
main audio output : PTS is out of range (95443040013), dropping buffer
main audio output : PTS is out of range (95443013915), dropping buffer
main audio output : PTS is out of range (95442987814), dropping buffer
libmpeg2 decoder : 368x240 (display 368,240), aspect 706560, sar 16:15, 25.000 fps
main decoder : no usable vout present, spawning one
main video output : window size: 392x240

I also have an AVI file that does not play nor crash. MediaPlayer just opens and closes immediately. Running MediaPlayer from a Terminal shows this:

[/boot/home]> MediaPlayer media/video/Check/The\ Matrix\ Trailer.avi 
MainApp::ArgvReceived media/video/Check/The Matrix Trailer.avi
MainApp::ArgvReceived calling RefsReceived
MainWin::MessageReceived: B_REFS_RECEIVED
open playlist item: The Matrix Trailer.avi
asfReader::asfReader
asfReader::Sniff
asfReader::Sniff: unsupported file type
Abort
Killed (by death)

So it seems it also thinks this is unsupported but does not show the alert for some reason. Here is what VLC has to say about it:

avi input : found Chunk fourcc:46464952 (RIFF) size:18339768 pos:0
avi input : found LIST chunk: 'AVI '
avi input : <list 'AVI '>
avi input : found Chunk fourcc:5453494c (LIST) size:8830 pos:12
avi input : found LIST chunk: 'hdrl'
avi input : <list 'hdrl'>
avi input : found Chunk fourcc:68697661 (avih) size:56 pos:24
avi input : avih: streams:2 flags: HAS_INDEX IS_INTERLEAVED 640x480
avi input : found Chunk fourcc:5453494c (LIST) size:4244 pos:88
avi input : found LIST chunk: 'strl'
avi input : <list 'strl'>
avi input : found Chunk fourcc:68727473 (strh) size:56 pos:100
avi input : strh: type:vids handler:0x34766964 samplesize:0 23.98fps
avi input : found Chunk fourcc:66727473 (strf) size:40 pos:164
avi input : strf: video:DIV3 640x480 planes:1 24bpp
avi input : found Chunk fourcc:4b4e554a (JUNK) size:4120 pos:212
avi input : </list 'strl'>
avi input : found Chunk fourcc:5453494c (LIST) size:4234 pos:4340
avi input : found LIST chunk: 'strl'
avi input : <list 'strl'>
avi input : found Chunk fourcc:68727473 (strh) size:56 pos:4352
avi input : strh: type:auds handler:0x00000000 samplesize:1 11982.00fps
avi input : found Chunk fourcc:66727473 (strf) size:30 pos:4416
avi input : strf: audio:0x0055 channels:2 44100Hz 0bits/sample 93kb/s
avi input : found Chunk fourcc:4b4e554a (JUNK) size:4120 pos:4454
avi input : </list 'strl'>
avi input : found Chunk fourcc:5453494c (LIST) size:260 pos:8582
avi input : found LIST chunk: 'odml'
avi input : <list 'odml'>
avi input : found Chunk fourcc:686c6d64 (dmlh) size:248 pos:8594
avi input : unknown chunk (not loaded)
avi input : </list 'odml'>
avi input : </list 'hdrl'>
avi input : found Chunk fourcc:4b4e554a (JUNK) size:1382 pos:8850
avi input : found Chunk fourcc:5453494c (LIST) size:18266400 pos:10240
avi input : skipping movi chunk
avi input : found Chunk fourcc:31786469 (idx1) size:63120 pos:18276648
avi input : idx1: index entry:3945
avi input : </list 'AVI '>
avi input : found Chunk fourcc:4b4e554a (JUNK) size:56 pos:18339776
avi input : * LIST-root size:18339840 pos:0
avi input :      + RIFF-AVI  size:18339768 pos:0
avi input :      |    + LIST-hdrl size:8830 pos:12
avi input :      |    |    + avih size:56 pos:24
avi input :      |    |    + LIST-strl size:4244 pos:88
avi input :      |    |    |    + strh size:56 pos:100
avi input :      |    |    |    + strf size:40 pos:164
avi input :      |    |    |    + JUNK size:4120 pos:212
avi input :      |    |    + LIST-strl size:4234 pos:4340
avi input :      |    |    |    + strh size:56 pos:4352
avi input :      |    |    |    + strf size:30 pos:4416
avi input :      |    |    |    + JUNK size:4120 pos:4454
avi input :      |    |    + LIST-odml size:260 pos:8582
avi input :      |    |    |    + dmlh size:248 pos:8594
avi input :      |    + JUNK size:1382 pos:8850
avi input :      |    + LIST-movi size:18266400 pos:10240
avi input :      |    + idx1 size:63120 pos:18276648
avi input :      + JUNK size:56 pos:18339776
avi input : AVIH: 2 stream, flags  HAS_INDEX IS_INTERLEAVED 
avi input : stream[0] rate:23976 scale:1000 samplesize:0
avi input : stream[0] video(DIV3) 640x480 24bpp 23.976000fps
main input : selecting program id=0
avi input : stream[1] rate:11982 scale:1 samplesize:1
avi input : stream[1] audio(0x55) 2 channels 44100Hz 0bits
avi input : stream[0] created 3641 index entries
avi input : stream[1] created 304 index entries
avi input : stream[0] length:151 (based on index)
avi input : stream[1] length:151 (based on index)
main input : using demux2 module "avi"
main input : looking for a subtitle file in /Data/home/media/video/Check/
main decoder : looking for decoder module: 21 candidates
ffmpeg decoder : libavcodec initialized (interface 3349504 )
ffmpeg decoder : postprocessing disabled
ffmpeg decoder : using direct rendering
ffmpeg decoder : ffmpeg codec (MS MPEG-4 Video v3) started
main decoder : using decoder module "ffmpeg"
main decoder : thread 8819 (decoder) created at priority 5 (input/decoder.c:159)
main decoder : looking for decoder module: 21 candidates
main decoder : using decoder module "mpeg_audio"
main decoder : thread 8820 (decoder) created at priority 10 (input/decoder.c:159)
main input : meta information:
main input :   - 'Setting' = ' HAS_INDEX IS_INTERLEAVED'
main input : `/Data/home/media/video/Check/The Matrix Trailer.avi' successfully opened
avi input : old:0 < new 0
mpeg_audio decoder : MPGA channels:2 samplerate:44100 bitrate:96
main decoder : no usable vout present, spawning one
main decoder : no aout present, spawning one
main audio output : looking for audio output module: 2 candidates
main audio output : using audio output module "beos"
main audio output : output 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes
main audio output : mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes
main audio output : no need for any filter
main audio output : looking for audio mixer module: 3 candidates
main audio output : using audio mixer module "trivial_mixer"
main audio output : input 'mpga' 44100 Hz Stereo frame=1152 samples/1053 bytes
main video output : window size: 640x480
main audio output : filter(s) 'mpga'->'fl32' 44100 Hz->44100 Hz Stereo->Stereo
main audio output : looking for audio filter module: 24 candidates
main video output : looking for video output module: 2 candidates
main video output : using audio filter module "mpgatofixed32"
main audio output : found a filter for the whole conversion
main audio output : filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo
main audio output : looking for audio filter module: 24 candidates
main video output : using video output module "beos"
main video output : using audio filter module "bandlimited_resampler"
main audio output : found a filter for the whole conversion
main video output : waiting for thread completion
beos video output : no possible overlay
main video output : got 3 direct buffer(s)
main video output : picture in 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
main video output : picture user 640x480 (0,0,640x480), chroma I420, ar 4:3, sar 1:1
main video output : picture out 640x480 (0,0,640x480), chroma RV32, ar 4:3, sar 1:1
main video output : looking for chroma module: 9 candidates
main video output : using chroma module "i420_rgb_mmx"
main video output : indirect render, mapping render pictures 0-7 to system pictures 3-10
main video output : thread 8823 (video output) created at priority 15 (video_output/video_output.c:421)

Hope this helps. Let me know if needed and I can provide the actual video files.

Attachments (1)

mp-error-log-streakt.xt (1.1 KB ) - added by streak 9 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 by idefix, 9 years ago

Might be related to ticket:6582 and ticket:6561.

comment:2 by luroh, 9 years ago

BGA: In case you haven't found out already; if you're about to conduct some Haiku demonstration, you may want to go with a gcc4 or gcc4h build for now. The MP crashes seem to affect gcc2/gcc2h builds only.

comment:3 by stippi, 9 years ago

Yes, please. Links to the actual video files would be awesome. The crashes may indeed be related to those other tickets you mention, but note those affect GCC2 builds only. So perhaps you can try a GCC4 build, if you are not already using that. (Mentioning the revision and build type is always valuable information.)

comment:4 by humdinger, 9 years ago

I've found the thread Official Codec/Container Test Videos on a board. There are two video clip packages linked from it. Pretty big archives, together 1.2 GiB. If you don't want to download it all, I can bring it to BG023. Although it's apparently supposed to be for testing streaming devices, these clips may come in handy for testing MediaKit anyway. There are some quite weird formats, some don't play or crash MediaPlayer:

  • M2TS: Standard 1080p M2TS ripped from a blu-ray
  • DVR-MS: Microsoft's old proprietary TV recording format
  • WMV9: 1080p WMV9 video with 5.1 WMA audio
  • HDTV: 1080i 60hz HDTV rip, no audio
  • AVCHD: 1080p M2TS from a Sony HD camcorder
  • Improper encode: The infamous Planet Earth clip with an absurd 16 reframes. The bird scene stutters even on high end PCs
  • DTS: Standard DTS 5.1 audio
  • DTS-MA: 7.1 DTS-MA lossless audio
  • Dolby TrueHD: 7.1 lossless TrueHD audio
  • MP4: 1080p L5.0 Apple trailer with 9 reframes and AAC audio
  • 5.1 FLAC + SSA: Multichannel FLAC audio and SSA (ASS 4.0) subs including complex styles and transitions
  • OGG: 720p Ogg Theora video with Vorbis audio
  • RMVB: Real Video variable bitrate. Unknown if it is RM9 or RM10, as they both use the same header (RV40)
  • TRP: 1080p Kaon DVB Transport Stream with dual AC3 audio
  • UTF-8: MKV with the following UTF-8 SRT sub tracks: Arabic, Chinese, English, Greek, Hebrew, Hindi, Japanese, Korean, Russian, Thai, Turkish and Vietnamese
  • Deinterlacing: 1080i test pattern to determine deinterlacing capabilities (see here for details)

comment:5 by Disreali, 9 years ago

Some possible test files to use. None of the files available at the following links play in MediaPlayer on hrev38712 gcc2hybrid.

test.ogv from ticket:4653

The mov and ogg files here: http://www.bigbuckbunny.org/index.php/trailer-page/

there is an mp4 here: http://camendesign.com/code/video_for_everybody/test.html

comment:6 by Disreali, 9 years ago

The MPlayer/FFmpeg samples collection has a huge selection of files. http://samples.mplayerhq.hu/

comment:7 by stargatefan, 9 years ago

gcc4 hybird 38712 plays just fine here. All versions of all the videos on this page. Maybe a gcc2 issue ? however 24bit WMA files are crashing media player.

Last edited 9 years ago by stargatefan (previous) (diff)

comment:8 by streak, 9 years ago

I confirm that some files dont play properly and crashing media player. Log in attachment..

Last edited 9 years ago by streak (previous) (diff)

by streak, 9 years ago

Attachment: mp-error-log-streakt.xt added

comment:9 by stippi, 9 years ago

Streak, can you please say if that was a GCC2 or GCC4 Haiku?

comment:10 by streak, 9 years ago

it was GCC2H hrev38659

comment:11 by bga, 9 years ago

stippi:

Thanks for looking into this. Whenever I report a bug, I am using the latest version at that point in time (of course you can not know that. This is just the excuse for me forgetting to include the revision). I am at the airport now and will only be back tomorrow (will be doing a Haiku presentation tonight). When I am back, I will upload the videos somewhere and provide a link to you.

Concerning using GCC4, I guess I will do that, but I think it is also important this works in GCC2 at least until we decide to simply drop it Iwhich I am in favor of doing anyway).

comment:12 by stippi, 9 years ago

Resolution: fixed
Status: newclosed

Fixed in hrev38746.

@BGA: When reading tickets at a later time or even not much later after you open them, it is not clear at all which revision you were using at the time.

BTW, at first I was really cross about the ticket title, since I worked really hard to get from a point at which almost no clip from my testing collection played to a point where almost every clip played. I should have tested with GCC2 as that is still our default compiler... indeed almost nothing played anymore in GCC2. Sorry about that.

Note: See TracTickets for help on using tickets.