diff --git a/ext/twitter/main.go b/ext/twitter/main.go index 5b6d921..9b1fdbd 100644 --- a/ext/twitter/main.go +++ b/ext/twitter/main.go @@ -91,11 +91,12 @@ func MediaListFromAPI(ctx *models.DownloadContext) ([]*models.Media, error) { caption := CleanCaption(tweetData.FullText) var mediaEntities []MediaEntity - if tweetData.ExtendedEntities != nil && len(tweetData.ExtendedEntities.Media) > 0 { + switch { + case tweetData.ExtendedEntities != nil && len(tweetData.ExtendedEntities.Media) > 0: mediaEntities = tweetData.ExtendedEntities.Media - } else if tweetData.Entities != nil && len(tweetData.Entities.Media) > 0 { + case tweetData.Entities != nil && len(tweetData.Entities.Media) > 0: mediaEntities = tweetData.Entities.Media - } else { + default: return nil, nil } @@ -190,11 +191,12 @@ func GetTweetAPI( } var tweet *Tweet - if result.Tweet != nil { + switch { + case result.Tweet != nil: tweet = result.Tweet - } else if result.Legacy != nil { + case result.Legacy != nil: tweet = result.Legacy - } else { + default: return nil, errors.New("failed to get tweet data") } return tweet, nil diff --git a/util/parser/m3u8.go b/util/parser/m3u8.go index 8cf5ff7..2db1c2e 100644 --- a/util/parser/m3u8.go +++ b/util/parser/m3u8.go @@ -246,33 +246,37 @@ func parseVariantType( } func getVideoCodec(codecs string) enums.MediaCodec { - if strings.Contains(codecs, "avc") || strings.Contains(codecs, "h264") { + switch { + case strings.Contains(codecs, "avc"), strings.Contains(codecs, "h264"): return enums.MediaCodecAVC - } else if strings.Contains(codecs, "hvc") || strings.Contains(codecs, "h265") { + case strings.Contains(codecs, "hvc"), strings.Contains(codecs, "h265"): return enums.MediaCodecHEVC - } else if strings.Contains(codecs, "av01") { + case strings.Contains(codecs, "av01"): return enums.MediaCodecAV1 - } else if strings.Contains(codecs, "vp9") { + case strings.Contains(codecs, "vp9"): return enums.MediaCodecVP9 - } else if strings.Contains(codecs, "vp8") { + case strings.Contains(codecs, "vp8"): return enums.MediaCodecVP8 + default: + return "" } - return "" } func getAudioCodec(codecs string) enums.MediaCodec { - if strings.Contains(codecs, "mp4a") { + switch { + case strings.Contains(codecs, "mp4a"): return enums.MediaCodecAAC - } else if strings.Contains(codecs, "opus") { + case strings.Contains(codecs, "opus"): return enums.MediaCodecOpus - } else if strings.Contains(codecs, "mp3") { + case strings.Contains(codecs, "mp3"): return enums.MediaCodecMP3 - } else if strings.Contains(codecs, "flac") { + case strings.Contains(codecs, "flac"): return enums.MediaCodecFLAC - } else if strings.Contains(codecs, "vorbis") { + case strings.Contains(codecs, "vorbis"): return enums.MediaCodecVorbis + default: + return "" } - return "" } func resolveURL(base *url.URL, uri string) string {