(self, cb)
| 505 | } |
| 506 | |
| 507 | function startEncoderDetach(self, cb) { |
| 508 | if (!self.desiredEncoderAttachState) return; |
| 509 | self.desiredEncoderAttachState = false; |
| 510 | |
| 511 | if (self.pendingEncoderAttachDetach) return; |
| 512 | self.pendingEncoderAttachDetach = true; |
| 513 | self.grooveEncoder.detach(function(err) { |
| 514 | self.pendingEncoderAttachDetach = false; |
| 515 | |
| 516 | if (err) { |
| 517 | self.desiredEncoderAttachState = true; |
| 518 | cb(err); |
| 519 | } else if (self.desiredEncoderAttachState) { |
| 520 | startEncoderAttach(self, cb); |
| 521 | } |
| 522 | }); |
| 523 | } |
| 524 | |
| 525 | Player.prototype.getBufferedSeconds = function() { |
| 526 | if (this.recentBuffers.length < 2) return 0; |
no test coverage detected