View Issue Details

IDProjectCategoryView StatusLast Update
0007286MMW v4Playerpublic2011-05-13 00:00
Reporterrusty Assigned To 
PriorityurgentSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version4.0 
Target Version4.0Fixed in Version4.0 
Summary0007286: Playing .mov files crashes MM
DescriptionWith build 1246, and codec pack 1.09, if the user tries to play a .mov file from a canon camera, MM first generates a warning that subtitles cannot display (even though no subtitles are present) and then crashes.

elog submitted.
TagsNo tags attached.
Fixed in build1360

Relationships

related to 0006493 resolvedrusty Automated codec installation/purchase mechanism 
related to 0007354 closedmichal Some .mov files don't scan 
related to 0007465 closedmichal .mov files from canon camera don't play 

Activities

rusty

2011-02-01 19:50

administrator   ~0022785

Note: it appears that the elog did not submit successfully (MM crashed completely before the elog was sent). I've previously submitted a canon camera .mov file, though, so it should be reproducible. Let me know if not.

rusty

2011-02-03 04:33

administrator   ~0022825

Here is the error that appears:
Debug Error!

Program: C:\Programe Files (x86)\MediaMonkey4\MediaMonkey.exe
Module: C:\Programe Files (x86)\MediaMonkey4\Plugins\f_video.dll
File:

Run-Time Check Failure #3 - The variable 'txt' is being used without being initialized.

(Press Retry to debug the application)

Note:
-DebugView doesn't show any useful debug information.
-The error warning re. subtitles only occurs sometimes.
-The bug doesn't occur with AVI files from the canon camera--only with .MOV files from the camera
-Windows Media Player also has a problem playing the file (it generates an error that 'there is a problem playing the file' after a couple of seconds of playback--but it doesn't crash)
-I've posted a sample file at: https://www.yousendit.com/download/MzZFb245Q1I5RmJ2Wmc9PQ

michal

2011-02-03 11:14

developer   ~0022826

Last edited: 2011-02-03 12:10

Fixed in build 1347. I've reproduced the problem only in Win7 using the given MOV file.

lowlander

2011-02-09 18:53

developer   ~0022947

The sample video worked on 1348 here, but this sample fails on import: http://feedproxy.google.com/~r/dailyplanettv/~5/VN3rt5-cWVo/Exo-trainer_coming_soon.mov
It fails both when imported as part of the Podcast or when the file is saved on PC and imported as video file.

peke

2011-02-13 21:36

developer   ~0023049

Last edited: 2011-02-13 21:44

I've replicated the issue with http://feedproxy.google.com/~r/dailyplanettv/~5/VN3rt5-cWVo/Exo-trainer_coming_soon.mov by downloading it to HDD.

File plays (Audio Only, video is locked on first frame), but Seek and Thumb Creation (Import) Crashes MM.

GPOT 2.70 shows correct QT Container and plays the file.

Eureka Log and file are uploaded to FTP.

michal

2011-03-05 10:52

developer   ~0023585

This file has very strange structure - it has avc1 video stream at the beginning, and after cca 3s it switches to mp4v. It is the reason why classic playback does not work - it adds avc1 decoder during playback graph creation, and this decoder crashes or stops decoding after 3s (then it receives wrong data). The only way, I think, how to play this file, is to use some wrapper to QuickTime API as source filter, I have already tested one, will see if we will use it later.

rusty

2011-03-16 13:35

administrator   ~0023739

Last edited: 2011-03-16 13:44

To resolve, codecs would be used in the following order:

For all formats but mov:
1) Via MM codecs & system codec 2) If not playable via Quicktime (if relevant/available) 3) If not playable, dl codec

For mov format:
1) Via Quicktime (if available) 2) If not available try via MM codecs & system codecs 3) If not playable, dl quicktime (using existing code & strings already exist re. AAC)

Notes:
MM should 'know' as much as possible what codecs/options described above are available so that playback is instantaneous.

The current AAC-related strings should not be used, since they are specific to AAC. MM should instead use the codec download framework to link to am MM-site location that would provide more details (see 0006493, and please update 0006493 with relevant information).

michal

2011-03-17 16:27

developer   ~0023756

Last edited: 2011-03-17 16:43

Fixed in build 1356. QuickTime 7 or higher will be needed for reliable playback/decoding of all MOV files, for MOVs it will be prefered. We will use QuickTime also for 3GP playback and for MP4 playback in case of missing MP4 splitter. Because I found out that the QuickTime H264 decoder is quite HW consuming (especially for Full HD), we will prefer MP4 splitter and ffdshow codecs for MP4. We still can play a lot of MOV files without QuickTime, but it will be less reliable.

rusty

2011-03-17 16:49

administrator   ~0023759

Last edited: 2011-03-17 16:59

Re-opening for discussion:
This sounds like a partial solution for the case of .mov files. It seems that the implementation:
1) Attempts to play with QT (if installed)
2) Plays with system codecs / MM codecs if QT not available

BUT, in case 2), user will run MM for the first time, scan will proceed, thumbnails generate --> crash --> user uninstalls MM!

So we have a workaround now, but if MM still crashes, it doesn't solve the original bug. Possible solutions:
1) Make MM fail gracefully when attempting playback/thumbnail generation for .mov files
2) If QT isn't available, prompt the user to install QT for .mov files (and never use MM codecs for thumbnail generation)

On the other hand, if .mov files that trigger a crash are so rare, perhaps we should just leave as is...

rusty

2011-03-17 17:03

administrator   ~0023760

Reminder sent to: jiri

Jiri, please review with Michal re. best way to proceed.

jiri

2011-03-17 17:36

administrator   ~0023761

As discussed over IM, we should be able to fail gracefully in case of problems in third-party code by embedding the whole decoding/encoding/playback framework to another Windows process. It's quite a change, but shouldn't be that hard to implement.

Note that if properly implemented, it should resolved problems in 0007533, since threading issues will no longer be a problem in multiple processes.

michal

2011-04-01 12:10

developer   ~0024000

Fixed in build 1360. From now on, video will be played and converted in separate process(es).

peke

2011-05-13 00:00

developer   ~0025142

Verified 1373