annotate stream/pvr.h @ 31366:0bf908d29807

SIGPIPE is not really a crash, try to exit cleanly in case we receive one. Particularly in the network code it would be better to ignore it, but some window managers use it to indicate a close request.
author reimar
date Wed, 16 Jun 2010 17:33:17 +0000
parents 0f1b5b68af32
children 8abdc84493f3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23246
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
1 /*
26737
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
2 * stream layer for hardware MPEG 1/2/4 encoders a.k.a PVR
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
3 * (such as WinTV PVR-150/250/350/500 (a.k.a IVTV), pvrusb2 and cx88)
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
4 * See http://ivtvdriver.org/index.php/Main_Page for more details on the
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
5 * cards supported by the ivtv driver.
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
6 *
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
7 * Copyright (C) 2006 Benjamin Zores
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
8 * Copyright (C) 2007 Sven Gothel (Channel Navigation)
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
9 *
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
10 * This file is part of MPlayer.
23246
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
11 *
26737
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
12 * MPlayer is free software; you can redistribute it and/or modify
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
13 * it under the terms of the GNU General Public License as published by
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
15 * (at your option) any later version.
23246
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
16 *
26737
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
17 * MPlayer is distributed in the hope that it will be useful,
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
20 * GNU General Public License for more details.
23246
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
21 *
26737
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
22 * You should have received a copy of the GNU General Public License along
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
23 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
a26e50cae389 Use standard license headers with standard formatting.
diego
parents: 26184
diff changeset
24 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23246
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
25 */
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
26
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23246
diff changeset
27 #ifndef MPLAYER_PVR_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23246
diff changeset
28 #define MPLAYER_PVR_H
23244
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
29
26184
7ee4ae1648e6 Add missing header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
30 #include "stream.h"
23244
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
31 #include "tv.h"
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
32
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
33 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
34 * @brief Get the current station name.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
35 * The pointer is valid, till the stream is closed.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
36 * @return The stream's station name
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
37 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
38 const char *pvr_get_current_stationname (stream_t *stream);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
39
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
40 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
41 * @brief Get the current channel name.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
42 * The pointer is valid, till the stream is closed.
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26737
diff changeset
43 * @return The stream's channel name
23244
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
44 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
45 const char *pvr_get_current_channelname (stream_t *stream);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
46
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
47 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
48 * @brief Get the current frequency.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
49 * @return frequency
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
50 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
51 int pvr_get_current_frequency (stream_t *stream);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
52
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
53 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
54 * @brief Set the current station using the channel name.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
55 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
56 * if the channel does not exist, or the station is not enabled
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
57 * @return 0 if the station is available, otherwise -1
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
58 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
59 int pvr_set_channel (stream_t *stream, const char *channel);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
60
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
61 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
62 * @brief Set the current station using to the last set channel
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
63 * @return 0 if the station is available, otherwise -1
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
64 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
65 int pvr_set_lastchannel (stream_t *stream);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
66
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
67 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
68 * @brief Set the current channel using the frequency.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
69 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
70 * if the frequency does not exist, or the station is not enabled
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
71 * @return 0 if the station is available, otherwise -1
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
72 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
73 int pvr_set_freq (stream_t *stream, int freq);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
74
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
75 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
76 * @brief Set the current station while stepping.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
77 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
78 * if the station does not exist, or the station is not enabled
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
79 * @return 0 if the station is available, otherwise -1
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
80 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
81 int pvr_set_channel_step (stream_t *stream, int step);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
82
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
83 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
84 * @brief Set the current frequency while stepping
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
85 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
86 * if the frequency is invalid, i.e. <0
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
87 * @return 0 if success, otherwise -1
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
88 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
89 int pvr_force_freq_step (stream_t *stream, int step);
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
90
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23246
diff changeset
91 #endif /* MPLAYER_PVR_H */