annotate src/recpt1.h @ 177:1d6674183e76

Fix problem: If do not specify DLNA, will not call pthread_join(stream_thread,)
author Naoya OYAMA <naoya.oyama@gmail.com>
date Wed, 07 Nov 2012 22:54:19 +0900 (2012-11-07)
parents 4f3640bf350d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
100
aeba1988234f support macros to specify sid:
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 96
diff changeset
1 /* -*- tab-width: 4; indent-tabs-mode: nil -*- */
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
2 #ifndef _RECPT1_H_
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
3 #define _RECPT1_H_
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
4 #include <sys/types.h>
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
5 #include <netdb.h>
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
6 #include <arpa/inet.h>
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
7 #include <netinet/in.h>
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
8 #include "decoder.h"
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
9 #include "tssplitter_lite.h"
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
10
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
11 #define HAVE_LIBARIB25 1
139
5eab7c73a28a Add PT3 driver
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 135
diff changeset
12 #define NUM_BSDEV 16
5eab7c73a28a Add PT3 driver
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 135
diff changeset
13 #define NUM_ISDB_T_DEV 16
18
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
14 #define CHTYPE_SATELLITE 0 /* satellite digital */
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
15 #define CHTYPE_GROUND 1 /* terrestrial digital */
11
4615eaf04415 support signal strength calculation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 6
diff changeset
16 #define MAX_QUEUE 8192
96
52f8e081763d add an option to specify the necessary service IDs.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 87
diff changeset
17 #define MAX_READ_SIZE (188 * 87) /* 188*87=16356 splitterが188アライメントを期待しているのでこの数字とする*/
11
4615eaf04415 support signal strength calculation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 6
diff changeset
18 #define WRITE_SIZE (1024 * 1024 * 2)
4615eaf04415 support signal strength calculation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 6
diff changeset
19 #define TRUE 1
4615eaf04415 support signal strength calculation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 6
diff changeset
20 #define FALSE 0
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
21 #define STREAM_MAX (16)
152
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
22 #define CHANNEL_MAX (256)
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
23
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
24
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
25 /* type definitions */
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
26 typedef int boolean;
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
27
4
43d177fa65c9 fixed indentation
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 3
diff changeset
28 typedef struct _BUFSZ {
6
d898fd27547f cleanups
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 5
diff changeset
29 int size;
4
43d177fa65c9 fixed indentation
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 3
diff changeset
30 u_char buffer[MAX_READ_SIZE];
3
6801fe7e04ff updated to ariv25v023
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2
diff changeset
31 } BUFSZ;
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
32
4
43d177fa65c9 fixed indentation
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 3
diff changeset
33 typedef struct _QUEUE_T {
18
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
34 unsigned int in; // 次に入れるインデックス
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
35 unsigned int out; // 次に出すインデックス
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
36 unsigned int size; // キューのサイズ
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
37 unsigned int num_avail; // 満タンになると 0 になる
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
38 unsigned int num_used; // 空っぽになると 0 になる
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
39 pthread_mutex_t mutex;
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
40 pthread_cond_t cond_avail; // データが満タンのときに待つための cond
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
41 pthread_cond_t cond_used; // データが空のときに待つための cond
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
42 BUFSZ *buffer[1]; // バッファポインタ
3
6801fe7e04ff updated to ariv25v023
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2
diff changeset
43 } QUEUE_T;
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
44
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
45 typedef struct _STREAM_QUEUE_T {
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
46 unsigned int in; // 次に入れるインデックス
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
47 unsigned int out; // 次に出すインデックス
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
48 unsigned int size; // キューのサイズ
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
49 unsigned int num_avail; // 満タンになると 0 になる
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
50 unsigned int num_used; // 空っぽになると 0 になる
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
51 pthread_mutex_t mutex;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
52 pthread_cond_t cond_avail; // データが満タンのときに待つための cond
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
53 pthread_cond_t cond_used; // データが空のときに待つための cond
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
54 ARIB_STD_B25_BUFFER *buffer[1]; // バッファポインタ
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
55 } STREAM_QUEUE_T;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
56
4
43d177fa65c9 fixed indentation
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 3
diff changeset
57 typedef struct _ISDB_T_FREQ_CONV_TABLE {
18
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
58 int set_freq; // 実際にioctl()を行う値
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
59 int type; // チャンネルタイプ
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
60 int add_freq; // 追加する周波数(BS/CSの場合はスロット番号)
84ff6ef710ea - support stdout for output
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 11
diff changeset
61 char *parm_freq; // パラメータで受ける値
3
6801fe7e04ff updated to ariv25v023
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents: 2
diff changeset
62 } ISDB_T_FREQ_CONV_TABLE;
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
63
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
64 typedef struct sock_data {
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
65 int sfd; /* socket fd */
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
66 struct sockaddr_in addr;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
67 } sock_data;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
68
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
69 typedef struct _session {
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
70 int id;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
71 int is_valid;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
72 QUEUE_T *p_queue;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
73 } session;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
74
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
75 typedef struct _streamer {
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
76 pthread_mutex_t mutex; //open、close、(recpt1からの)write
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
77 int stream_nr;
127
5a380559a61e modify calclate bitrate mechanism.
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 125
diff changeset
78 size_t total_byte; // 送信BYTE数
5a380559a61e modify calclate bitrate mechanism.
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 125
diff changeset
79 struct timespec start; // 開始時刻
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
80 session *stream_session[STREAM_MAX]; //NULL止めの配列
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
81 } streamer;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
82
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
83 typedef struct thread_data {
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
84 QUEUE_T *queue;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
85 QUEUE_T *stream_queue;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
86 decoder *decoder;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
87 decoder_options *dopt;
164
7d8a5bb874ad EXPERIMENTAL: Change phisical channel by mq_recv().
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 155
diff changeset
88 char ch[16]; /* channel is one of the following. Number, C00, BS0_0, CS0 */
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
89 int lnb; /* LNB voltage */
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
90 int tfd; /* tuner fd */
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
91 int wfd; /* output file fd */
170
4f3640bf350d Change display name of DLNA.
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 164
diff changeset
92 char *device_name; /* "/dev/ptXvideoY" */
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
93 ISDB_T_FREQ_CONV_TABLE *table;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
94 sock_data *sock_data;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
95 pthread_t signal_thread;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
96 int recsec;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
97 time_t start_time;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
98 boolean indefinite;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
99 int msqid;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
100 splitter *splitter;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
101 streamer *streamer;
164
7d8a5bb874ad EXPERIMENTAL: Change phisical channel by mq_recv().
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 155
diff changeset
102 char sid_list[256];
7d8a5bb874ad EXPERIMENTAL: Change phisical channel by mq_recv().
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 155
diff changeset
103 pthread_mutex_t splitter_mutex;
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
104 } thread_data;
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
105
152
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
106 struct channel_info {
155
5d010d0ff6a1 Change line number of the CSV file to be used for ID management.
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 152
diff changeset
107 int id;
152
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
108 char *sid;
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
109 char *tp;
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
110 char *name;
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
111 };
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
112
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
113 struct channel_info_list {
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
114 int nr_channel;
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
115 struct channel_info *channel_info[CHANNEL_MAX];
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
116 };
30e91361506a EXPERIMENTAL: Enable change phisical channel by DLNA.(ISDB-T only)
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 139
diff changeset
117
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
118 QUEUE_T *create_queue(size_t size);
135
1d343a4eb657 modify function prototype.
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 133
diff changeset
119 BUFSZ *dequeue(QUEUE_T *p_queue);
1d343a4eb657 modify function prototype.
Naoya OYAMA <naoya.oyama@gmail.com>
parents: 133
diff changeset
120 ARIB_STD_B25_BUFFER *stream_dequeue(STREAM_QUEUE_T *p_queue);
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
121 void destroy_queue(QUEUE_T *p_queue);
125
e413158cae13 Add ushare project files.
naoyan@johnstown.minaminoshima.org
parents: 124
diff changeset
122 void destroy_stream_queue(STREAM_QUEUE_T *p_queue);
124
9c7bc6c0327e Add DLNA server function test. (from uShare project)
naoyan@johnstown.minaminoshima.org
parents: 100
diff changeset
123
1
29f3b2bbbd67 - rename test.c to recpt1.c
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
124 #endif