Browse Source

Add service_id parameter to do_emm() camd callback.

This makes do_emm() and do_ecm() take the same parameters. The next
step is to make them take struct camd_msg as single parameter.
Georgi Chorbadzhiyski 12 years ago
parent
commit
b5bd7a9ab0
3 changed files with 6 additions and 5 deletions
  1. 2
    1
      camd-cs378x.c
  2. 3
    3
      camd.c
  3. 1
    1
      data.h

+ 2
- 1
camd-cs378x.c View File

@@ -116,7 +116,8 @@ static int cs378x_do_ecm(struct camd *c, uint16_t ca_id, uint16_t service_id, ui
116 116
 	return cs378x_send_buf(c, to_send);
117 117
 }
118 118
 
119
-static int cs378x_do_emm(struct camd *c, uint16_t ca_id, uint8_t *data, uint8_t data_len) {
119
+static int cs378x_do_emm(struct camd *c, uint16_t ca_id, uint16_t service_id, uint8_t *data, uint8_t data_len) {
120
+	(void)service_id;
120 121
 	uint32_t prov_id = 0;
121 122
 	int to_send = boundary(4, CAMD35_HDR_LEN + data_len);
122 123
 

+ 3
- 3
camd.c View File

@@ -140,9 +140,9 @@ static int camd_send_ecm(struct ts *ts, uint16_t ca_id, uint16_t service_id, uin
140 140
 	return ret;
141 141
 }
142 142
 
143
-static int camd_send_emm(struct ts *ts, uint16_t ca_id, uint8_t *data, uint8_t data_len) {
143
+static int camd_send_emm(struct ts *ts, uint16_t ca_id, uint16_t service_id, uint8_t *data, uint8_t data_len) {
144 144
 	struct camd *c = &ts->camd;
145
-	int ret = c->ops.do_emm(c, ca_id, data, data_len);
145
+	int ret = c->ops.do_emm(c, ca_id, service_id, data, data_len);
146 146
 	if (ret < 0) {
147 147
 		c->emm_recv_errors++;
148 148
 		if (c->emm_recv_errors >= EMM_RECV_ERRORS_LIMIT) {
@@ -159,7 +159,7 @@ static int camd_send_emm(struct ts *ts, uint16_t ca_id, uint8_t *data, uint8_t d
159 159
 static void camd_do_msg(struct camd_msg *msg) {
160 160
 	if (msg->type == EMM_MSG) {
161 161
 		msg->ts->emm_seen_count++;
162
-		if (camd_send_emm(msg->ts, msg->ca_id, msg->data, msg->data_len) > 0)
162
+		if (camd_send_emm(msg->ts, msg->ca_id, msg->service_id, msg->data, msg->data_len) > 0)
163 163
 			msg->ts->emm_processed_count++;
164 164
 	}
165 165
 	if (msg->type == ECM_MSG) {

+ 1
- 1
data.h View File

@@ -79,7 +79,7 @@ struct camd_ops {
79 79
 	int (*connect)(struct camd *c);
80 80
 	void (*disconnect)(struct camd *c);
81 81
 	int (*reconnect)(struct camd *c);
82
-	int (*do_emm)(struct camd *c, uint16_t ca_id, uint8_t *data, uint8_t data_len);
82
+	int (*do_emm)(struct camd *c, uint16_t ca_id, uint16_t service_id, uint8_t *data, uint8_t data_len);
83 83
 	int (*do_ecm)(struct camd *c, uint16_t ca_id, uint16_t service_id, uint8_t *data, uint8_t data_len);
84 84
 	int (*get_cw)(struct camd *c, uint16_t *ca_id, uint16_t *idx, uint8_t *cw);
85 85
 };

Loading…
Cancel
Save