Merge branch '0.8'
[swfdec.git] / test / sound / cut_silence.c
blobaf185bd6040e7a2bd7bfea22e6fea474fefee821
1 /* Swfdec
2 * Copyright (C) 2006 Benjamin Otte <otte@gnome.org>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301 USA
19 #ifdef HAVE_CONFIG_H
20 #include "config.h"
21 #endif
22 #include <string.h>
23 #include <glib.h>
25 static void
26 usage (const char *app)
28 g_print ("usage : %s INFILE OUTFILE\n\n", app);
31 int
32 main (int argc, char **argv)
34 char *data;
35 gsize length;
36 GError *error = NULL;
38 if (argc != 3) {
39 usage (argv[0]);
40 return 0;
43 if (!g_file_get_contents (argv[1], &data, &length, &error)) {
44 g_printerr ("Error: %s\n", error->message);
45 g_error_free (error);
46 return 1;
48 while (length > 3) {
49 if (data[length - 1] != 0 ||
50 data[length - 2] != 0 ||
51 data[length - 3] != 0 ||
52 data[length - 4] != 0)
53 break;
54 length -= 4;
56 if (!g_file_set_contents (argv[2], data, length, &error)) {
57 g_printerr ("Error: %s\n", error->message);
58 g_error_free (error);
59 g_free (data);
60 return 1;
62 g_free (data);
63 return 0;