Browse Source

Create output_write() function.

Georgi Chorbadzhiyski 12 years ago
parent
commit
5915ca90b6
1 changed files with 10 additions and 6 deletions
  1. 10
    6
      process.c

+ 10
- 6
process.c View File

@@ -201,6 +201,12 @@ void *decode_thread(void *_ts) {
201 201
 	return NULL;
202 202
 }
203 203
 
204
+static inline void output_write(struct ts *ts, uint8_t *data, unsigned int data_size) {
205
+	if (!data)
206
+		return;
207
+	write(ts->output.fd, data, data_size);
208
+}
209
+
204 210
 void *write_thread(void *_ts) {
205 211
 	struct ts *ts = _ts;
206 212
 	uint8_t *data;
@@ -216,14 +222,12 @@ void *write_thread(void *_ts) {
216 222
 			continue;
217 223
 		}
218 224
 		data = cbuf_get (ts->write_buf, FRAME_SIZE, &data_size);
219
-		if (data)
220
-			write(ts->output.fd, data, data_size);
225
+		output_write(ts, data, data_size);
221 226
 	}
222 227
 
223 228
 	do { // Flush data
224 229
 		data = cbuf_get(ts->write_buf, FRAME_SIZE, &data_size);
225
-		if (data)
226
-			write(ts->output.fd, data, data_size);
230
+		output_write(ts, data, data_size);
227 231
 	} while(data);
228 232
 
229 233
 	return NULL;
@@ -307,9 +311,9 @@ void process_packets(struct ts *ts, uint8_t *data, ssize_t data_len) {
307 311
 			decode_packet(ts, ts_packet);
308 312
 			if (ts->pid_filter) {
309 313
 				if (pidmap_get(&ts->pidmap, pid)) // PAT or allowed PIDs
310
-					write(ts->output.fd, ts_packet, 188);
314
+					output_write(ts, ts_packet, 188);
311 315
 			} else {
312
-				write(ts->output.fd, ts_packet, 188);
316
+				output_write(ts, ts_packet, 188);
313 317
 			}
314 318
 		}
315 319
 

Loading…
Cancel
Save