Trying to modernize and get working Apple's sample code AVReaderWriter. Why is this `DispatchGroup` work block not being called?

Apple's sample code "AVReaderWriter: Offline Audio / Video Processing" has the following listing

    let writingGroup = dispatch_group_create()
	
	// Transfer data from input file to output file.
	self.transferVideoTracks(videoReaderOutputsAndWriterInputs, group: writingGroup)
	self.transferPassthroughTracks(passthroughReaderOutputsAndWriterInputs, group: writingGroup)
	
	// Handle completion.
    let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

    dispatch_group_notify(writingGroup, queue) {
		// `readingAndWritingDidFinish()` is guaranteed to call `finish()` exactly once.
		self.readingAndWritingDidFinish(assetReader, assetWriter: assetWriter)
	}

in CynanifyOperation.swift (an NSOperation subclass that stylizes imported video and exports it). How would I get about writing this part in modern Swift so that it compiles and works?

I've tried writing this as

            let writingGroup = DispatchGroup()
            
            // Transfer data from input file to output file.
            self.transferVideoTracks(videoReaderOutputsAndWriterInputs: videoReaderOutputsAndWriterInputs, group: writingGroup)
            self.transferPassthroughTracks(passthroughReaderOutputsAndWriterInputs: passthroughReaderOutputsAndWriterInputs, group: writingGroup)
            
            // Handle completion.
            writingGroup.notify(queue: .global()) {
                // `readingAndWritingDidFinish()` is guaranteed to call `finish()` exactly once.
                self.readingAndWritingDidFinish(assetReader: assetReader, assetWriter: assetWriter)
            }

However, it's taking an extremely long time for self.readingAndWritingDidFinish(assetReader: assetReader, assetWriter: assetWriter) to be called, and my UI is stuck in the ProgressViewController with a loading spinner. Is there something I wrote incorrectly or missed conceptually in the Swift 5 version?

That looks like a reasonably direct translation to me, so I'm not sure what could be going wrong. How long does it take?