summaryrefslogtreecommitdiff
path: root/encoder.c
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2010-08-18 02:05:33 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2010-08-18 02:05:33 +0200
commit074d8c34fd299d2368f748375ddcce81d8eeb8dc (patch)
tree843995d0f3f6d01d38ed48d3646ff21640ae3bed /encoder.c
parente6ed2da856ec02f3982af4017f20ff873dde0485 (diff)
Implemented decoder_get() and encoder_get().
Diffstat (limited to 'encoder.c')
-rw-r--r--encoder.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/encoder.c b/encoder.c
index 72bca9d..4e0ffb8 100644
--- a/encoder.c
+++ b/encoder.c
@@ -13,3 +13,19 @@ gssize encoder_encode(struct encoder *encoder, const guchar *inbuf, gsize inbuf_
void encoder_close(struct encoder *encoder) {
encoder->encoder->close(encoder->data);
}
+
+extern const struct encoder_plugin encoder_lame_encoder;
+
+static const struct encoder_plugin *encoder_plugins[] = {
+ &encoder_lame_encoder,
+ NULL,
+};
+
+const struct encoder_plugin *encoder_get(const gchar *name) {
+ for(int i = 0; encoder_plugins[i]; i++) {
+ if(g_strcmp0(encoder_plugins[i]->name, name) == 0) {
+ return encoder_plugins[i];
+ }
+ }
+ return NULL;
+}