Skip to content

Commit 4dd617c

Browse files
committed
[WIP] can push only one buffer
1 parent 607fbc9 commit 4dd617c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

virtio-snd.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ VSND_GEN_TX_QUEUE_HANDLER(flush, 0);
626626
IIF(WRITE) \
627627
(/* enque frames */ \
628628
virtio_snd_prop_t *props = &vsnd_props[stream_id]; \
629-
props->lock.buf_ev_notity++; \
629+
props->lock.buf_ev_notity--; \
630630
pthread_cond_signal(&props->lock.writable);, /* flush queue */ \
631631
) \
632632
\
@@ -1038,7 +1038,7 @@ static void __virtio_snd_rx_frame_dequeue(void *out,
10381038
fprintf(stderr, "((( rx_frame_deque buf_ev_notity %d" " rx_ev_start %d\n",
10391039
props->lock.buf_ev_notity,
10401040
rx_ev_start);
1041-
while (props->lock.buf_ev_notity < 1 && rx_ev_start != 1) {
1041+
while (!(props->lock.buf_ev_notity > 0 && rx_ev_start == 1)) {
10421042
pthread_cond_wait(&props->lock.readable, &props->lock.lock);
10431043
}
10441044

@@ -1246,7 +1246,7 @@ static void __virtio_snd_rx_frame_enqueue(void *payload,
12461246
virtio_snd_prop_t *props = &vsnd_props[stream_id];
12471247

12481248
pthread_mutex_lock(&props->lock.lock);
1249-
fprintf(stderr, ")) rx_frame enque buf_ev_notity %d", props->lock.buf_ev_notity);
1249+
fprintf(stderr, ")) rx_frame enque buf_ev_notity %d\n", props->lock.buf_ev_notity);
12501250
while (props->lock.buf_ev_notity > 0) {
12511251
pthread_cond_wait(&props->lock.writable, &props->lock.lock);
12521252
}
@@ -1279,7 +1279,7 @@ static void __virtio_snd_rx_frame_enqueue(void *payload,
12791279
node->pos = 0;
12801280
list_push(&node->q, &props->buf_queue_head);
12811281

1282-
props->lock.buf_ev_notity--;
1282+
props->lock.buf_ev_notity++;
12831283
pthread_cond_signal(&props->lock.readable);
12841284
pthread_mutex_unlock(&props->lock.lock);
12851285
fprintf(stderr, "enque end\n");

0 commit comments

Comments
 (0)