All projects

An early iOS media player

GTT Player

A historical native media-player prototype for iOS.

I designed and built this project independently, using my own resources.

Explore the project

Public repository

Technical documentation

Archived iOS player. The Xcode project and playback implementation are preserved.

Technologies

  • Swift
  • iOS
  • Media playback

01 / Context

The problem behind the project

A native media-player prototype provided a place to explore mobile playback interfaces.

GTT Player explores native browsing and playback of channels described by M3U playlists. It also contains a client for Springfield’s on-demand stream service, linking catalog selection with server-side repackaging.

02 / Implementation

Design and implementation

I developed the iOS prototype and kept its source as a record of the work.

I built playlist/group/channel views, an M3U parser, cached playlist handling, and an observable playback model. The parser extracts channel names, logos, grouping metadata, and stream URLs from the retained playlist shape.

The active playback path in the reviewed model uses MobileVLCKit. AVPlayer and casting-related code also exist, but their presence is not treated as proof that every transport or remote-playback control is complete. The model includes explicit error state and Springfield list/start integration.

03 / Approach

Engineering decisions

Separate prototype from release

The public repository contains the application and test projects. It is retained as historical work rather than advertised as a supported player.

04 / Evidence

Evidence and outcomes

The public parser and player sources expose the exact supported playlist assumptions and current playback choice. This makes the prototype’s real scope clearer than describing it only as a generic Swift media player.

Source and technical notes

05 / Current scope

Where it stands

A historical iOS media-player prototype.

The parser assumes a particular attribute order and HTTP stream lines; it is not a claim of universal M3U compatibility. Casting, external playback, and lifecycle behavior need separate device validation.