<div dir="ltr">Using my Mavic Air 2 and the DJI Fly app on Android (file version 12) I recently took a timelapse video. Parsing the logs, I noticed a myriad of type 0x39 records that did not contain JPG data.<div><br></div><div>While JPG records are usually structured quite differently from regular records, these ones appear to be regular records. Each one begins with the type 0x39 followed by a length of 0x05. They are also properly terminated with 0xff. Here are two examples:</div><div><br></div><div><div>39 05 77 84 64 59 F5 FF</div><div>39 05 46 7C F4 6F E0 FF<br></div><div></div></div><div><br></div><div>I suspect that the timelapse mode causes these records to show up. The timelapse video gets recorded by the drone as a series of still images. Each frame results in one of these 0x39 records. Unscrambling the data shows that their payload always begins with the same 3 bytes:</div><div><br></div><div>01 00 05 b0<br></div><div>01 00 05 4b<br></div><div>01 00 05 14<br></div><div><br></div><div>Your current code ignores the record length for type 0x39, skips the first two bytes of the payload and then checks for the SOI marker. If not found, it skips past the next 0xff. I propose a change to this code. If the payload begins with 00 00, an SOI marker and image data should be expected. Otherwise the record length should be observed and the payload unscrambled like that of any other record.</div><div><br></div><div>-Dennis</div></div>