Skip to content

Commit 96aed90

Browse files
author
Clement Champetier
committed
util: updated NamesArray type
It is a map instead of a vector (no need to manage duplicates!).
1 parent 1993920 commit 96aed90

File tree

2 files changed

+6
-18
lines changed

2 files changed

+6
-18
lines changed

src/AvTranscoder/util.cpp

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ NamesArray getAvailableFormatsNames()
127127
if(!fmt->name)
128128
continue;
129129

130-
formatsNames.push_back(
130+
formatsNames.insert(
131131
std::make_pair(std::string(fmt->name), std::string(fmt->long_name ? fmt->long_name : "")));
132132
}
133133
return formatsNames;
@@ -145,14 +145,8 @@ NamesArray getAvailableVideoCodecsNames()
145145
if(!c->name)
146146
continue;
147147

148-
std::pair<std::string, std::string> codecNames(std::string(c->name),
149-
std::string(c->long_name ? c->long_name : ""));
150-
151-
// skip duplicates
152-
if(std::find(videoCodecsNames.begin(), videoCodecsNames.end(), codecNames) != videoCodecsNames.end())
153-
continue;
154-
155-
videoCodecsNames.push_back(codecNames);
148+
videoCodecsNames.insert(
149+
std::make_pair(std::string(c->name), std::string(c->long_name ? c->long_name : "")));
156150
}
157151
}
158152
return videoCodecsNames;
@@ -170,14 +164,8 @@ NamesArray getAvailableAudioCodecsNames()
170164
if(!c->name)
171165
continue;
172166

173-
const std::pair<std::string, std::string> codecNames(std::string(c->name),
174-
std::string(c->long_name ? c->long_name : ""));
175-
176-
// skip duplicates
177-
if(std::find(audioCodecsNames.begin(), audioCodecsNames.end(), codecNames) != audioCodecsNames.end())
178-
continue;
179-
180-
audioCodecsNames.push_back(codecNames);
167+
audioCodecsNames.insert(
168+
std::make_pair(std::string(c->name), std::string(c->long_name ? c->long_name : "")));
181169
}
182170
}
183171
return audioCodecsNames;

src/AvTranscoder/util.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace avtranscoder
1717
{
1818

1919
typedef std::map<std::string, OptionArray> OptionArrayMap;
20-
typedef std::vector<std::pair<std::string, std::string> > NamesArray; //< short/long names of format/video codec/audio codec
20+
typedef std::map<std::string, std::string> NamesArray; //< short/long names of format/video codec/audio codec
2121

2222
/**
2323
* @brief Check if a format name corresponds to the format of a given filename

0 commit comments

Comments
 (0)