BOOL CMetaDataDlg::OnInitDialog() { CResizablePage::OnInitDialog(); InitWindowStyles(this); AddAnchor(IDC_TAGS, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_TOTAL_TAGS, BOTTOM_LEFT, BOTTOM_RIGHT); GetDlgItem(IDC_TOTAL_TAGS)->SetWindowText(GetResString(IDS_METATAGS)); m_tags.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); m_tags.ReadColumnStats(ARRSIZE(_aColumns), _aColumns); m_tags.CreateColumns(ARRSIZE(_aColumns), _aColumns); InitTags(); m_pMenuTags = new CMenu(); if (m_pMenuTags->CreatePopupMenu()) { m_pMenuTags->AppendMenu(MF_ENABLED | MF_STRING, MP_COPYSELECTED, GetResString(IDS_COPY)); m_pMenuTags->AppendMenu(MF_SEPARATOR); m_pMenuTags->AppendMenu(MF_ENABLED | MF_STRING, MP_SELECTALL, GetResString(IDS_SELECTALL)); } m_tags.m_pMenu = m_pMenuTags; m_tags.m_pParent = this; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
nsresult GMPAudioDecoder::Init() { MOZ_ASSERT(IsOnGMPThread()); mMPS = do_GetService("@mozilla.org/goanna-media-plugin-service;1"); MOZ_ASSERT(mMPS); nsTArray<nsCString> tags; InitTags(tags); nsresult rv = mMPS->GetGMPAudioDecoder(&tags, GetNodeId(), &mGMP); NS_ENSURE_SUCCESS(rv, rv); MOZ_ASSERT(mGMP); nsTArray<uint8_t> codecSpecific; codecSpecific.AppendElements(mConfig.audio_specific_config->Elements(), mConfig.audio_specific_config->Length()); rv = mGMP->InitDecode(kGMPAudioCodecAAC, mConfig.channel_count, mConfig.bits_per_sample, mConfig.samples_per_second, codecSpecific, mAdapter); NS_ENSURE_SUCCESS(rv, rv); return NS_OK; }
void GMPAudioDecoder::GetGMPAPI(GMPInitDoneRunnable* aInitDone) { MOZ_ASSERT(IsOnGMPThread()); nsTArray<nsCString> tags; InitTags(tags); UniquePtr<GetGMPAudioDecoderCallback> callback( new GMPInitDoneCallback(this, aInitDone)); if (NS_FAILED(mMPS->GetGMPAudioDecoder(&tags, GetNodeId(), Move(callback)))) { aInitDone->Dispatch(); } }
RefPtr<MediaDataDecoder::InitPromise> GMPAudioDecoder::Init() { MOZ_ASSERT(IsOnGMPThread()); mMPS = do_GetService("@mozilla.org/gecko-media-plugin-service;1"); MOZ_ASSERT(mMPS); RefPtr<InitPromise> promise(mInitPromise.Ensure(__func__)); nsTArray<nsCString> tags; InitTags(tags); UniquePtr<GetGMPAudioDecoderCallback> callback(new GMPInitDoneCallback(this)); if (NS_FAILED(mMPS->GetGMPAudioDecoder(&tags, GetNodeId(), Move(callback)))) { mInitPromise.Reject(MediaDataDecoder::DecoderFailureReason::INIT_ERROR, __func__); } return promise; }
RefPtr<MediaDataDecoder::InitPromise> GMPVideoDecoder::Init() { MOZ_ASSERT(IsOnGMPThread()); mMPS = do_GetService("@mozilla.org/gecko-media-plugin-service;1"); MOZ_ASSERT(mMPS); RefPtr<InitPromise> promise(mInitPromise.Ensure(__func__)); nsTArray<nsCString> tags; InitTags(tags); UniquePtr<GetGMPVideoDecoderCallback> callback(new GMPInitDoneCallback(this)); if (NS_FAILED(mMPS->GetDecryptingGMPVideoDecoder(mCrashHelper, &tags, GetNodeId(), std::move(callback), DecryptorId()))) { mInitPromise.Reject(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__); } return promise; }