SDK 4.12 Sample Code iOS DJISDKManager.videoFeeder()?
1287 1 2020-5-11
Uploading and Loding Picture ...(0/1)
o(^-^)o
hdrpano
lvl.4
Flight distance : 598458 ft
  • >>>
Switzerland
Offline

I test iOS SDK 4.12 with the Swift Sample Code from DJI.
Xcode 11.4.1
Swift 5
class VideoPreviewerAdapter: NSObject {..

The DJISDKManager.videoFeeder() has no member for
  • DJISDKManager.videoFeeder()?.parseDecodingAssistInfo(...
  • DJISDKManager.videoFeeder()?.decodingDidSucceed(..
  • DJISDKManager.videoFeeder()?.syncDecoderStatus(..
  • DJISDKManager.videoFeeder()?.decodingDidFail(..

This is new and does not appear in SDK 4.11.1 or lower.

extension VideoPreviewerAdapter: DJIVideoPreviewerFrameControlDelegate {
    func parseDecodingAssistInfo(withBuffer buffer: UnsafeMutablePointer<UInt8>!, length: Int32, assistInfo: UnsafeMutablePointer<DJIDecodingAssistInfo>!) -> Bool {
        return DJISDKManager.videoFeeder()?.parseDecodingAssistInfo(withBuffer: buffer, length: length, assistInfo: assistInfo) ?? false
    }

    func decodingDidSucceed(withTimestamp timestamp: UInt32) {
        DJISDKManager.videoFeeder()?.decodingDidSucceed(withTimestamp: UInt(timestamp))
    }

    func isNeedFitFrameWidth() -> Bool {
        let displayName = VideoPreviewerAdapter.camera()?.displayName
        if displayName == DJICameraDisplayNameMavic2ZoomCamera ||
            displayName == DJICameraDisplayNameMavic2ProCamera {
            return true
        }
        return false
    }

    func syncDecoderStatus(_ isNormal: Bool) {
        DJISDKManager.videoFeeder()?.syncDecoderStatus(isNormal)
    }

    func decodingDidFail() {
        DJISDKManager.videoFeeder()?.decodingDidFail()
    }

}

Fix!
The decode status is linked to the videoFeeder! But it is important to tell if it is the primary or secondary video feed.

Replace DJISDKManager.videoFeeder()?. with feed?

extension VideoPreviewerAdapter: DJIVideoPreviewerFrameControlDelegate {
    func parseDecodingAssistInfo(withBuffer buffer: UnsafeMutablePointer<UInt8>!, length: Int32, assistInfo: UnsafeMutablePointer<DJIDecodingAssistInfo>!) -> Bool {
        return feed?.parseDecodingAssistInfo(withBuffer: buffer, length: length, assistInfo: assistInfo) ?? false
    }

    func decodingDidSucceed(withTimestamp timestamp: UInt32) {
       feed?.decodingDidSucceed(withTimestamp: UInt(timestamp))
    }

    func isNeedFitFrameWidth() -> Bool {
        let displayName = VideoPreviewerAdapter.camera()?.displayName
        if displayName == DJICameraDisplayNameMavic2ZoomCamera ||
            displayName == DJICameraDisplayNameMavic2ProCamera {
            return true
        }
        return false
    }

    func syncDecoderStatus(_ isNormal: Bool) {
        feed?.syncDecoderStatus(isNormal)
    }

    func decodingDidFail() {
        feed?.decodingDidFail()
    }

}



Error

Error
2020-5-11
Use props
djiuser_lQYijDR0nFGN
lvl.1
Flight distance : 16490 ft
Germany
Offline

Thanks so much. That worked !
2020-5-11
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules