annotate stream/pvr.h @ 24576:6704a924d4aa

According to MSDN a thread must call CoUninitialize once for each successful call it has made to CoInitialize or CoInitializeEx, including any call that returns S_FALSE. Only the CoUninitialize call corresponding to the CoInitialize or CoInitializeEx call that initialized the library can close it. patch by Gianluigi Tiesi, mplayer netfarm it
author diego
date Sun, 23 Sep 2007 20:37:33 +0000
parents 19cd461d2f1b
children 4129c8cfa742
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 /*
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
2 * Copyright (C) 2006 Benjamin Zores
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
3 * Copyright (C) 2007 Sven Gothel (Channel Navigation)
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
4 * Stream layer for hardware MPEG 1/2/4 encoders a.k.a PVR
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
5 * (such as WinTV PVR-150/250/350/500 (a.k.a IVTV), pvrusb2 and cx88).
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
6 * See http://ivtvdriver.org/index.php/Main_Page for more details on the
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
7 * cards supported by the ivtv driver.
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
8 *
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
9 * This program is free software; you can redistribute it and/or modify
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
10 * it under the terms of the GNU General Public License as published by
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
12 * (at your option) any later version.
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
13 *
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
14 * This program is distributed in the hope that it will be useful,
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
17 * GNU General Public License for more details.
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
18 *
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
19 * You should have received a copy of the GNU General Public License
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
20 * along with this program; if not, write to the Free Software Foundation,
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
21 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
22 */
19cd461d2f1b added proper GPL headers to new stream/pvr.h file
ben
parents: 23244
diff changeset
23
23244
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
24 #ifndef PVR_H
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
25 #define PVR_H
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
26
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
27 #include "tv.h"
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
28
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
29 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
30 * @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
31 * 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
32 * @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
33 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
34 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
35
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
36 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
37 * @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
38 * 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
39 * @return The stream's channel name
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 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
42
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
43 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
44 * @brief Get the current frequency.
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
45 * @return frequency
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 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
48
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
49 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
50 * @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
51 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
52 * 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
53 * @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
54 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
55 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
56
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
57 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
58 * @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
59 * @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
60 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
61 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
62
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
63 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
64 * @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
65 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
66 * 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
67 * @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
68 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
69 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
70
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
71 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
72 * @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
73 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
74 * 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
75 * @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
76 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
77 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
78
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
79 /**
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
80 * @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
81 * This function will fail,
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
82 * 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
83 * @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
84 */
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
85 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
86
e5e8ac0bd7fc support for PVR channel navigation (patch by Sven Gothel <sgothel at jausoft dot com>)
ben
parents:
diff changeset
87 #endif /* PVR_H */