Unified · Split
| @@ -159,6 +159,19 @@ static void stop(struct ao *ao) · 158 unmodified lines | ||
| 159 | 159 | }); |
| 160 | 160 | } |
| 161 | 161 | |
| 162 | +static bool set_pause(struct ao *ao, bool paused) | |
| 163 | +{ | |
| 164 | + struct priv *p = ao->priv; | |
| 165 | + | |
| 166 | + if (paused) { | |
| 167 | + [p->synchronizer setRate:0]; | |
| 168 | + } else { | |
| 169 | + [p->synchronizer setRate:1]; | |
| 170 | + } | |
| 171 | + | |
| 172 | + return true; | |
| 173 | +} | |
| 174 | + | |
| 162 | 175 | static int control(struct ao *ao, enum aocontrol cmd, void *arg) |
| 163 | 176 | { |
| 164 | 177 | struct priv *p = ao->priv; |
| @@ -353,6 +366,7 @@ const struct ao_driver audio_out_avfoundation = { · 188 unmodified lines | ||
| 353 | 366 | .control = control, |
| 354 | 367 | .reset = stop, |
| 355 | 368 | .start = start, |
| 369 | + .set_pause = set_pause, | |
| 356 | 370 | .list_devs = ca_get_device_list, |
| 357 | 371 | .priv_size = sizeof(struct priv), |
| 358 | 372 | }; |