Playing videos actually working now

This commit is contained in:
6ea86b96 2017-04-27 14:05:41 +07:00 committed by Jeremy Kauffman
parent e0b78368ab
commit 0d658b2767
3 changed files with 20 additions and 16 deletions

View file

@ -59,7 +59,7 @@ export function doFetchCurrentUriFileInfo() {
}
})
lbry.file_list({ outpoint }).then(([fileInfo]) => {
lbry.file_list({ outpoint: outpoint, full_status: true }).then(([fileInfo]) => {
dispatch({
type: types.FETCH_FILE_INFO_COMPLETED,
data: {
@ -274,17 +274,22 @@ export function doWatchVideo() {
const costInfo = selectCurrentUriCostInfo(state)
const { cost } = costInfo
// TODO does > 0 mean the file is downloaded? We don't have the total_bytes
if (fileInfo.written_bytes > 0) {
dispatch(doPlayVideo(uri))
} else {
if (cost > balance) {
dispatch(doOpenModal('notEnoughCredits'))
} else if (cost <= 0.01) {
dispatch(doLoadVideo())
} else {
dispatch(doOpenModal('affirmPurchase'))
}
// NOTE: we have to check written bytes because a file may be "completed"
// but then deleted on the file system. In which case we are going to need
// to dispatch a load event again to redownload it
if (fileInfo.completed && fileInfo.written_bytes > 0) {
return Promise.resolve()
}
if (cost > balance) {
dispatch(doOpenModal('notEnoughCredits'))
}
else if (cost <= 0.01) {
dispatch(doLoadVideo())
} else {
dispatch(doOpenModal('affirmPurchase'))
}
return Promise.resolve()
}
}

View file

@ -26,12 +26,11 @@ const select = (state) => ({
modal: selectCurrentModal(state),
isLoading: selectLoadingCurrentUri(state),
readyToPlay: selectCurrentUriFileReadyToPlay(state),
isDownloading: <selectDownloadingCurre></selectDownloadingCurre>ntUri(state),
isDownloading: selectDownloadingCurrentUri(state),
})
const perform = (dispatch) => ({
loadVideo: () => dispatch(doLoadVideo()),
play: () => dispatch(doPlayVideo()),
play: () => dispatch(doLoadVideo()),
watchVideo: (elem) => dispatch(doWatchVideo()),
closeModal: () => dispatch(doCloseModal()),
})

View file

@ -2,7 +2,7 @@ import React from 'react';
import lbry from 'lbry.js';
import lighthouse from 'lighthouse.js';
import lbryuri from 'lbryuri.js';
import Video from 'page/video'
import Video from 'component/video'
import {
TruncatedText,
Thumbnail,