#include "third_party/blink/renderer/modules/mediasource/handle_attachment_provider.h"
#include "base/logging.h"
#include "base/synchronization/lock.h"
#include "third_party/blink/renderer/core/html/media/media_source_attachment.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
#include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"
namespace blink {
HandleAttachmentProvider::HandleAttachmentProvider(
scoped_refptr<MediaSourceAttachment> attachment)
: attachment_(std::move(attachment)) {
DCHECK(attachment_);
DVLOG(1) << __func__ << " this=" << this << ", attachment_=" << attachment_;
}
HandleAttachmentProvider::~HandleAttachmentProvider() {
DVLOG(1) << __func__ << " this=" << this;
}
scoped_refptr<MediaSourceAttachment>
HandleAttachmentProvider::TakeAttachment() {
base::AutoLock locker(attachment_lock_);
DVLOG(1) << __func__ << " this=" << this << ", attachment_=" << attachment_;
return std::move(attachment_);
}
}