annotate gui/util/list.h @ 36545:f0e92381681d

Add support for files with MLTI chunks. Fixes 06.rm and 08_lect_01.rm from FFmpeg trac #2152 Fixes also files from ftp://ftp.aduni.org/videos/ The patch has these limitations: - no multirate files with MLTI chunks - no mixed files (eg. MLTI for audio but not for video) - no MLTI for video together with non-ra audio (eg. ralf) - only DATA v0 (no v1, versions greater than 1 should not exist) Files with these feature shuld not really exist anyway. Also video MLTI files with only one stream are supported but untested
author rtogni
date Sun, 19 Jan 2014 15:12:46 +0000
parents df731f25759e
children b28b632efeef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33741
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
1 /*
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
2 * This file is part of MPlayer.
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
3 *
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
7 * (at your option) any later version.
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
8 *
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
12 * GNU General Public License for more details.
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
13 *
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License along
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
17 */
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
18
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
19 #ifndef MPLAYER_GUI_LIST_H
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
20 #define MPLAYER_GUI_LIST_H
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
21
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
22 /// listMgr() commands
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
23 enum {
34667
7c447e9db447 Remove global variable pointing to top of playlist.
ib
parents: 34664
diff changeset
24 PLAYLIST_GET,
34681
42fa91951bd2 Rename PLAYLIST_ITEM_ADD PLAYLIST_ITEM_APPEND.
ib
parents: 34669
diff changeset
25 PLAYLIST_ITEM_APPEND,
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
26 PLAYLIST_ITEM_INSERT,
35460
7d1d7f783975 Add listMgr command PLAYLIST_ITEM_FIND.
ib
parents: 35458
diff changeset
27 PLAYLIST_ITEM_FIND,
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
28 PLAYLIST_ITEM_SET_CURR,
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
29 PLAYLIST_ITEM_GET_CURR,
35458
2a6113c08e20 Add listMgr command PLAYLIST_ITEM_GET_CURR_POS.
ib
parents: 35429
diff changeset
30 PLAYLIST_ITEM_GET_POS,
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
31 PLAYLIST_ITEM_GET_PREV,
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
32 PLAYLIST_ITEM_GET_NEXT,
35962
df731f25759e Add new listMgr command PLAYLIST_ITEM_GET_LAST.
ib
parents: 35729
diff changeset
33 PLAYLIST_ITEM_GET_LAST,
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
34 PLAYLIST_ITEM_DEL_CURR,
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
35 PLAYLIST_DELETE,
34668
00e8aecfa7ff Remove global variable pointing to top of URL list.
ib
parents: 34667
diff changeset
36 URLLIST_GET,
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
37 URLLIST_ITEM_ADD,
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
38 URLLIST_DELETE
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34637
diff changeset
39 };
33742
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
40
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
41 typedef struct plItem {
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
42 char *path;
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
43 char *name;
34612
b5cfd8f9f811 Cosmetic: Rearrange structure members.
ib
parents: 34610
diff changeset
44 struct plItem *prev, *next;
33742
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
45 } plItem;
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
46
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
47 typedef struct urlItem {
34612
b5cfd8f9f811 Cosmetic: Rearrange structure members.
ib
parents: 34610
diff changeset
48 char *url;
33742
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
49 struct urlItem *next;
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
50 } urlItem;
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33741
diff changeset
51
35729
a5f7a861a293 Revise some doxygen comments.
ib
parents: 35460
diff changeset
52 /// @name List manager (playlist, URL list)
34610
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34599
diff changeset
53 void *listMgr(int cmd, void *data);
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34599
diff changeset
54
35729
a5f7a861a293 Revise some doxygen comments.
ib
parents: 35460
diff changeset
55 /// @name Char pointer list operations
34610
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34599
diff changeset
56 //@{
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34599
diff changeset
57 void listRepl(char ***list, const char *search, const char *replace);
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34599
diff changeset
58 void listSet(char ***list, const char *entry);
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34599
diff changeset
59 //@}
33741
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
60
35729
a5f7a861a293 Revise some doxygen comments.
ib
parents: 35460
diff changeset
61 /// @name High-level list operations
35376
02006c5b3b30 Move add_to_gui_playlist() to util/list.c.
ib
parents: 34681
diff changeset
62 //@{
02006c5b3b30 Move add_to_gui_playlist() to util/list.c.
ib
parents: 34681
diff changeset
63 int add_to_gui_playlist(const char *what, int how);
02006c5b3b30 Move add_to_gui_playlist() to util/list.c.
ib
parents: 34681
diff changeset
64 //@}
02006c5b3b30 Move add_to_gui_playlist() to util/list.c.
ib
parents: 34681
diff changeset
65
33741
962dc701989d Create new file list.c for list related functions.
ib
parents:
diff changeset
66 #endif /* MPLAYER_GUI_LIST_H */