Closing of memory filedescriptor right after their usage (to save memory).

This commit is contained in:
Frédéric Tronel
2023-12-02 17:29:36 +01:00
parent 076e3c990b
commit 124772aaeb

View File

@@ -458,6 +458,7 @@ def extractAllStreams(inputFile, begin, end, streams, filesPrefix, nbFrames, wid
videoID=0
audioID=0
subTitleID=0
memfds = []
for stream in streams:
if stream['codec_type'] == 'video':
logger.info("Extracting video stream v:%d" % videoID)
@@ -485,7 +486,9 @@ def extractAllStreams(inputFile, begin, end, streams, filesPrefix, nbFrames, wid
codec = stream['codec_name']
imagesBytes, memfd = extractPictures(inputFile=inputFile, begin=begin, nbFrames=nbFrames, width=width, height=height)
if imagesBytes == None:
sys.exit(-1)
exit(-1)
memfds.append(memfd)
if dumpMemFD:
dumpPPM(imagesBytes, '%s-%d' % (filesPrefix,videoID), temporaries)
@@ -517,6 +520,11 @@ def extractAllStreams(inputFile, begin, end, streams, filesPrefix, nbFrames, wid
soundBytes , memfd = extractSound(inputFile=inputFile, begin=begin, nbPackets=nbPackets, packetDuration=packetDuration, outputFileName=tmpname, sampleRate=sampleRate, nbChannels=nbChannels)
if soundBytes == None:
exit(-1)
memfds.append(memfd)
if dumpMemFD:
try:
output = open(tmpname,'w')
@@ -575,6 +583,9 @@ def extractAllStreams(inputFile, begin, end, streams, filesPrefix, nbFrames, wid
temporaries.append(output)
for memfd in memfds:
close(memfd)
return output
else: