From a8988d9e0504a1ddc2a8c1aa835f5bae017e9aea Mon Sep 17 00:00:00 2001 From: Travis Eden Date: Fri, 29 Dec 2017 11:07:03 -0500 Subject: [PATCH] remove video files; save video claimId rather than URI --- src/renderer/component/video/index.js | 6 ++--- .../component/video/internal/player.jsx | 6 +++-- src/renderer/component/video/view.jsx | 8 +++--- src/renderer/redux/actions/video.js | 10 -------- src/renderer/redux/reducers/media.js | 4 ++- src/renderer/redux/reducers/video.js | 25 ------------------- src/renderer/redux/selectors/media.js | 12 +++++++-- src/renderer/redux/selectors/video.js | 9 ------- src/renderer/store.js | 2 -- 9 files changed, 23 insertions(+), 59 deletions(-) delete mode 100644 src/renderer/redux/actions/video.js delete mode 100644 src/renderer/redux/reducers/video.js delete mode 100644 src/renderer/redux/selectors/video.js diff --git a/src/renderer/component/video/index.js b/src/renderer/component/video/index.js index 36c92eab9e0..cc01f032ad0 100644 --- a/src/renderer/component/video/index.js +++ b/src/renderer/component/video/index.js @@ -4,7 +4,6 @@ import { doChangeVolume } from "redux/actions/app"; import { selectVolume } from "redux/selectors/app"; import { doPlayUri, doSetPlayingUri } from "redux/actions/content"; import { doPlay, doPause, savePosition } from "redux/actions/media"; -// import { setVideoPause } from "redux/actions/video"; import { makeSelectMetadataForUri, makeSelectContentTypeForUri, @@ -16,15 +15,16 @@ import { } from "redux/selectors/file_info"; import { makeSelectCostInfoForUri } from "redux/selectors/cost_info"; import { selectShowNsfw } from "redux/selectors/settings"; -// import { selectVideoPause } from "redux/selectors/video"; import { selectMediaPaused, makeSelectMediaPositionForUri, } from "redux/selectors/media"; import Video from "./view"; import { selectPlayingUri } from "redux/selectors/content"; +import { makeSelectClaimForUri } from "redux/selectors/claims"; const select = (state, props) => ({ + claim: makeSelectClaimForUri(props.uri)(state), costInfo: makeSelectCostInfoForUri(props.uri)(state), fileInfo: makeSelectFileInfoForUri(props.uri)(state), metadata: makeSelectMetadataForUri(props.uri)(state), @@ -34,7 +34,6 @@ const select = (state, props) => ({ playingUri: selectPlayingUri(state), contentType: makeSelectContentTypeForUri(props.uri)(state), volume: selectVolume(state), - // videoPause: selectVideoPause(state), mediaPaused: selectMediaPaused(state), mediaPosition: makeSelectMediaPositionForUri(props.uri)(state), }); @@ -43,7 +42,6 @@ const perform = dispatch => ({ play: uri => dispatch(doPlayUri(uri)), cancelPlay: () => dispatch(doSetPlayingUri(null)), changeVolume: volume => dispatch(doChangeVolume(volume)), - // setVideoPause: val => dispatch(setVideoPause(val)), doPlay: () => dispatch(doPlay()), doPause: () => dispatch(doPause()), savePosition: (id, position) => dispatch(savePosition(id, position)), diff --git a/src/renderer/component/video/internal/player.jsx b/src/renderer/component/video/internal/player.jsx index 3d675c72372..2e9a9a0b148 100644 --- a/src/renderer/component/video/internal/player.jsx +++ b/src/renderer/component/video/internal/player.jsx @@ -34,10 +34,12 @@ class VideoPlayer extends React.PureComponent { mediaType, changeVolume, volume, - mediaId, position, + id, } = this.props; + console.log("position:", position); + const loadedMetadata = e => { this.setState({ hasMetadata: true, startedPlaying: true }); this.refs.media.children[0].play(); @@ -74,7 +76,7 @@ class VideoPlayer extends React.PureComponent { mediaElement.addEventListener("play", () => this.props.doPlay()); mediaElement.addEventListener("pause", () => this.props.doPause()); mediaElement.addEventListener("timeupdate", () => - this.props.savePosition(mediaId, mediaElement.currentTime) + this.props.savePosition(id, mediaElement.currentTime) ); mediaElement.addEventListener("click", this.togglePlayListener); mediaElement.addEventListener( diff --git a/src/renderer/component/video/view.jsx b/src/renderer/component/video/view.jsx index 96715c990b8..77b7463abb9 100644 --- a/src/renderer/component/video/view.jsx +++ b/src/renderer/component/video/view.jsx @@ -55,6 +55,7 @@ class Video extends React.PureComponent { contentType, changeVolume, volume, + claim, uri, doPlay, doPause, @@ -63,6 +64,8 @@ class Video extends React.PureComponent { mediaPosition, } = this.props; + console.log("mediaPosition:", mediaPosition); + const isPlaying = playingUri === uri; const isReadyToPlay = fileInfo && fileInfo.written_bytes > 0; const obscureNsfw = this.props.obscureNsfw && metadata && metadata.nsfw; @@ -96,9 +99,6 @@ class Video extends React.PureComponent { } const poster = metadata.thumbnail; - const mediaId = uri.split("#")[1]; - console.log("mediaId:", mediaId); - return (
diff --git a/src/renderer/redux/actions/video.js b/src/renderer/redux/actions/video.js deleted file mode 100644 index bf88d2d268f..00000000000 --- a/src/renderer/redux/actions/video.js +++ /dev/null @@ -1,10 +0,0 @@ -// @flow -import * as actions from "constants/action_types"; -import type { Action, Dispatch } from "redux/reducers/video"; -import lbry from "lbry"; - -export const setVideoPause = (data: boolean) => (dispatch: Dispatch) => - dispatch({ - type: actions.SET_VIDEO_PAUSE, - data, - }); diff --git a/src/renderer/redux/reducers/media.js b/src/renderer/redux/reducers/media.js index 242f65be752..92d5f411579 100644 --- a/src/renderer/redux/reducers/media.js +++ b/src/renderer/redux/reducers/media.js @@ -4,7 +4,9 @@ import { handleActions } from "util/redux-utils"; export type MediaState = { paused: Boolean, - positions: Object, + positions: { + [string]: number, + }, }; export type Action = any; diff --git a/src/renderer/redux/reducers/video.js b/src/renderer/redux/reducers/video.js deleted file mode 100644 index 0f18844dd72..00000000000 --- a/src/renderer/redux/reducers/video.js +++ /dev/null @@ -1,25 +0,0 @@ -// @flow -import * as actions from "constants/action_types"; -import { handleActions } from "util/redux-utils"; - -export type VideoState = { videoPause: boolean }; - -type setVideoPause = { - type: actions.SET_VIDEO_PAUSE, - data: boolean, -}; - -export type Action = setVideoPause; -export type Dispatch = (action: Action) => any; - -const defaultState = { videoPause: false }; - -export default handleActions( - { - [actions.SET_VIDEO_PAUSE]: ( - state: VideoState, - action: setVideoPause - ): VideoState => ({ ...state, videoPause: action.data }), - }, - defaultState -); diff --git a/src/renderer/redux/selectors/media.js b/src/renderer/redux/selectors/media.js index 070604c2b65..f0cf178862b 100644 --- a/src/renderer/redux/selectors/media.js +++ b/src/renderer/redux/selectors/media.js @@ -1,5 +1,6 @@ import * as settings from "constants/settings"; import { createSelector } from "reselect"; +import lbryuri from "lbryuri"; const _selectState = state => state.media || {}; @@ -10,6 +11,13 @@ export const selectMediaPaused = createSelector( export const makeSelectMediaPositionForUri = uri => createSelector(_selectState, state => { - const id = uri.split("#")[1]; - return state.positions[id] || null; + // console.log("select positions:", state.positions); + // const videoId = lbryuri.parse(uri).claimId; + // console.log("videoId:", videoId); + // const position = state.positions[videoId]; + // console.log("position:", position); + // console.log("positions:", state.positions); + const obj = lbryuri.parse(uri); + console.log("state.positions:\n", state.positions); + return state.positions[obj.claimId] || null; }); diff --git a/src/renderer/redux/selectors/video.js b/src/renderer/redux/selectors/video.js deleted file mode 100644 index a41c95803a6..00000000000 --- a/src/renderer/redux/selectors/video.js +++ /dev/null @@ -1,9 +0,0 @@ -import * as settings from "constants/settings"; -import { createSelector } from "reselect"; - -const _selectState = state => state.video || {}; - -export const selectVideoPause = createSelector( - _selectState, - state => state.videoPause -); diff --git a/src/renderer/store.js b/src/renderer/store.js index 8c6e892773e..8364129832d 100644 --- a/src/renderer/store.js +++ b/src/renderer/store.js @@ -13,7 +13,6 @@ import userReducer from "redux/reducers/user"; import walletReducer from "redux/reducers/wallet"; import shapeShiftReducer from "redux/reducers/shape_shift"; import subscriptionsReducer from "redux/reducers/subscriptions"; -import videoReducer from "redux/reducers/video"; import mediaReducer from "redux/reducers/media"; import { persistStore, autoRehydrate } from "redux-persist"; import createCompressor from "redux-persist-transform-compress"; @@ -71,7 +70,6 @@ const reducers = combineReducers({ user: userReducer, shapeShift: shapeShiftReducer, subscriptions: subscriptionsReducer, - video: videoReducer, media: mediaReducer, });