[YoutubeDL] Disable newline conversion when writing subtitles

By default io.open() convert all '\n' occurrences to '\r\n' when writing
files. If the content already contains '\r\n', it will be converted to
'\r\r\n', breaking some video players.
pull/9409/merge
Yen Chi Hsuan 2016-08-11 19:04:23 +08:00
parent 3b9323d96e
commit b1927f4e8a
No known key found for this signature in database
GPG Key ID: 3FDDD575826C5C30
1 changed files with 2 additions and 0 deletions

View File

@ -1603,6 +1603,8 @@ class YoutubeDL(object):
self.to_screen('[info] Video subtitle %s.%s is already_present' % (sub_lang, sub_format))
else:
self.to_screen('[info] Writing video subtitles to: ' + sub_filename)
# Use newline='' to prevent conversion of newline characters
# See https://github.com/rg3/youtube-dl/issues/10268
with io.open(encodeFilename(sub_filename), 'w', encoding='utf-8', newline='') as subfile:
subfile.write(sub_data)
except (OSError, IOError):