FFmpeg debug assert in analyzerqueue

Bug #1698678 reported by Daniel Schürmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
Unassigned

Bug Description

A Debug debug assert fails with recent master build an FFmpeg, analyzing a m4a track:

Debug [AnalyzerQueue 1]: SoundSourceFFmpeg - readFramesToCache: Packet too big or File end
Critical [AnalyzerQueue 1]: DEBUG ASSERT: "framesRead <= framesToRead" in function bool AnalyzerQueue::doAnalysis(TrackPointer, mixxx::AudioSourcePointer) at src/analyzer/analyzerqueue.cpp:203

framesRead = 4096 and framesToRead = 1024

this cause additional follow up failing debug asserts, because we use the invalid framesRead.

Changed in mixxx:
importance: Undecided → Critical
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

AnalyzerQueue should only request framesToRead instead of kAnalysisFramesPerBlock frames. On the other hand SoundSourceFFmpeg should limit the requested number of frames appropriately and only return what is actually available.

A typical example of lazy implementation meets careless caller. Both could do better to prevent these kind of errors.

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

Fix for AnalyzerQueue has been committed. This bug is no longer critical, although SoundSourceFFmpeg should also be fixed.

Changed in mixxx:
status: New → Confirmed
Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

...and a new API compliance test: https://github.com/mixxxdj/mixxx/pull/1291

Revision history for this message
Uwe Klotz (uklotzde-deactivatedaccount) wrote :

The PR now fixes SoundSourceFFmpeg.

Changed in mixxx:
assignee: nobody → Uwe Klotz (uklotzde)
Changed in mixxx:
status: Confirmed → In Progress
Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
milestone: none → 2.1.0
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/8883

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.