Job added in hotlist
Applied job
Contract job
90-day-old-job
part-time-job
Recruiter job
Employer job
Expanded search
Apply online not available
View more jobs in San Jose, CA
View more jobs in California

Job Details

Apple TV download manager for playing video offline

Salary
$30-250

Location
San Jose, CA, United States

Posted on
Jul 24, 2020

Apply for this job






Profile

Apple TV download manager for playing video offline
The app is a music video streaming service with device on android, iOS, Apple TV, Roku and Fire TV. We are looking to develop a feature to download video for offline playback.
REQUIRED: Apple tvOS, Websocket. Swift and video libraryies/classes
the first task is to build the FIFO model class or object
class MixManager
VideoMix object of video mix info
- video mix id
- channel id
(all the video play information)
methods
nextVideo()
- video to play.
- stay in queue first position until done,
- use pop() and add() to move the played to the back of the queue (repeat)
getLimit() max number of download video allowed to manage
setLimit() - set the max number of videos for download
pop() - at the from
add(videoMix) - to the back of the queue
push(videoMix) - to the front of the queue
moveTo(index) - move to another
remove(videoMix) - remove ONLY from play list
delete(videoMix) - delete local downloaded video
cancel(videoMix) - stop download and remove file or partial file
availableVideos() - list of READY videos for play
pendingVideos() - list of PENDING videos still downloading
toHistory(videoMix) - send history of video play to server
* you must maintain the list of local files with video/channel info.
* do not delete. you may need for replay again
LISTENER and ACTIONS
Listen for websocket commands
When a switch channel is received. Look for a new variable isQueue to indicate offline channel and actions
- switch channel isQueue = T or F
ACTIONS
- if false, you play it normally live streaming. and still have the MixManger continue to download
- if true, call getNextVideo 10-20 times immediately and add to the MixManager for download and play
- if true && channel is already in queue,
continue playing the local files for that channel. calls getNextVideo and add more video for download if available. we can finalize the algorithm or rules for downloading how many video later)
Therefore, you have to associate or group the channel and files. You may need to build an Array or multi-dimension array or combination Array with HashMap((channel_id, videoMix) or something like that to keep track of the channels and video mixes
TASKS & MILESTONES
1 - develop the manager the class and methods for review
2 - test playing local files with the MixManager
3 - test managing playlist (play/add back to queue etc)
4 - test download and cancel
5 - test managing local files delete/cancel/clean/etc
6 - Live testing
7 - bug fixes
Skills:
TvOS
, Swift
, HTTP

Company info

Sign Up Now - MiamiCrossing.com

By using Employment Crossing, I was able to find a job that I was qualified for and a place that I wanted to work at.
Madison Currin - Greenville, NC
  • All we do is research jobs.
  • Our team of researchers, programmers, and analysts find you jobs from over 1,000 career pages and other sources
  • Our members get more interviews and jobs than people who use "public job boards"
Shoot for the moon. Even if you miss it, you will land among the stars.
MiamiCrossing - #1 Job Aggregation and Private Job-Opening Research Service — The Most Quality Jobs Anywhere
MiamiCrossing is the first job consolidation service in the employment industry to seek to include every job that exists in the world.
Copyright © 2026 MiamiCrossing - All rights reserved. 169 192