Adaptive Streaming on Nokia S60

Silverlight

This topic describes support for adaptive streaming on Nokia S60. IIS Smooth Streaming provides adaptive streaming support on IIS web servers through the SmoothStreamingMediaElement class.

To use IIS Smooth Streaming, include the following IIS Media Services extension DLL to your project:

  • Microsoft.Web.Media.SmoothStreaming.dll

You can obtain the DLL by downloading the IIS Smooth Streaming Player Development Kit for Symbian.

When developing your application, use SmoothStreamingMediaElement instead of MediaElement.

Silverlight for Symbian supports the following IIS Smooth Streaming features:

  • HTTP protocol

  • On-demand streaming

  • Live streaming

  • Basic playback support (play, pause, resume, seek, stop)

  • Go to Live (DVR support)

  • Seek to stream position

  • Dynamic bit-rate switching (network condition adjustment)

  • SmoothStreamingMediaElement

  • Resolution changes while the stream is modified

Silverlight for Symbian does not support the following IIS Smooth Streaming features:

  • Fast Forward, Fast Rewind, Instant Replay, Slow Motion (DVR support)

  • DRM support

  • Real-time client and server logging

  • Audio only (no video present)

  • Video only (no audio present)

  • Programmable client-side switching logic

  • Live in-stream ad integration

  • Timeline markers

  • Composite manifests

  • Manifest merge

  • Bit rate configuration (before playing the stream)

  • Smooth Streaming Player SDK

  • Resolution changes while the stream is playing, paused, or stopped

Video

The following table shows the supported video codec and the associated file format.

Codec

Format

Notes

H.264 – Baseline Profile

MP4

Base Profiles 1.2, 1.3.

.ismv is supported, but .isma is not supported. For videos containing audio, the audio track can be muxed into an .ismv file instead of a separate .isma file.

NoteNote:

For the client manifest file (*.ismc), audio and video content is supported on Nokia S60. On other platforms supported by Silverlight, audio, video, and text content are supported in the client manifest file.

Audio

The following table shows the supported audio codec and the associated file format.

Codec

Format

Notes

AAC-LC

MP4

The AAC-LC codec can also decode HE-AAC content.

The following table shows supported settings for IIS Smooth Streaming media:

Setting

Value

Notes

Maximum bit rate

450 Kbps

Maximum frames per second

25 fps

Silverlight on other platforms supports 30 or more fps.

File type on server

Contiguous

Default fragment length

2 s

The following table shows the recommended configuration and settings for encoding IIS Smooth Streaming media.

Aspect Ratio

Network Type

Dimensions

Frame Rate

Total Bit Rate

Video

Audio

4:3

EDGE

320x240

24

96

64

32

4:3

3G (Low)

320x240

24

192

128

64

4:3

3G (High)

320x240

24

320

256

64

4:3

Wi-Fi

320x240

24

448

384

64

16:9

EDGE

320x180

24

96

64

32

16:9

3G (Low)

320x180

24

192

128

64

16:9

3G (High)

320x180

24

320

256

64

16:9

Wi-Fi

320x180

24

448

384

64

This section describes supported members of the SmoothStreamingMediaElement control. Use only the supported properties, methods, and events, which are listed here. Unsupported members of SmoothStreamingMediaElement do not throw exceptions. When you perform a get operation on an unsupported property, a default value is returned. When you perform a set operation on an unsupported property, the set operation is ignored or it fails.

The supported methods of SmoothStreamingMediaElement include the following:

  • AddHandler

  • ApplyTemplate

  • Arrange

  • ArrangeOverride

  • CaptureMouse

  • CheckAccess

  • ClearValue

  • Dispose

  • Equals

  • Finalize

  • FindName

  • FlushBuffers

  • Focus

  • GetAnimationBaseValue

  • GetBindingExpression

  • GetHashCode

  • GetStreamInfoForStreamType

  • GetTemplateChild

  • GetType

  • GetValue

  • InvalidateMeasure

  • Measure

  • MeasureOverride

  • MemberwiseClone

  • OnApplyTemplate

  • OnClipError

  • OnClipProgressUpdate

  • OnClipStateChanged

  • OnCreateAnimationPeer

  • OnDragEnter

  • OnDragLeave

  • OnDragOver

  • OnDrop

  • OnGotFocus

  • OnKeyDown

  • OnKeyUp

  • OnLostFocus

  • OnLostMouseCapture

  • OnMouseEnter

  • OnMouseLeave

  • OnMouseLeftButtonDown

  • OnMouseLeftButtonUp

  • OnMouseMove

  • OnMouseRightButtonDown

  • OnMouseRightButtonUp

  • OnSmoothStreamingErrorOccurredEvent

  • OnSmoothStreamingSourceChanged

  • OnTextInput

  • OnTextInputStart

  • OnTextInputUpdate

  • Pause

  • Play

  • ReadLocalValue

  • ReleaseMouseCapture

  • RemoveHandler

  • SetBinding

  • SetSource

  • SetValue

  • StartSeekToLive

  • Stop

  • ToString

  • UpdateLayout

  • UpdateVisualState

The supported properties of SmoothStreamingMediaElement include:

  • ActualHeight

  • ActualWidth

  • AllowDrop

  • Attributes

  • AutoPlay

  • AvailableStreams

  • Background

  • Balance

  • BorderBrush

  • BorderThickness

  • BufferingProgress

  • BufferingTime

  • CanPause

  • CanSeek

  • ConfigPath

  • CookieContainer

  • CurrentState

  • Cursor

  • DataContext

  • DefaultStyleKey

  • DesiredSize

  • Dispatcher

  • DownloadProgress

  • DownloadProgressOffset

  • Duration

  • Effect

  • EndPosition

  • FlowDirection

  • Foreground

  • Height

  • HorizontalAlignment

  • HorizontalContentAlignment

  • IsEnabled

  • IsLive

  • IsLivePosition

  • IsMuted

  • IsTabStop

  • LiveBufferSize

  • LivePlaybackStartPosition

  • LivePosition

  • ManifestDuration

  • Margin

  • Master

  • MaxHeight

  • MaxWidth

  • MinHeight

  • MinWidth

  • Name

  • NaturalDuration

  • NaturalVideoHeight

  • NaturalVideoWidth

  • Opacity

  • OpacityMask

  • Padding

  • Parent

  • PlaybackRate

  • Position

  • Resources

  • SmoothStreamingSource

  • Source

  • StartPosition

  • Style

  • TabIndex

  • TabNavigation

  • Tag

  • Template

  • TotalBytesDownloaded

  • TrailingWindowDuration

  • UseLayoutRounding

  • VerticalAlignment

  • VerticalContentAlignment

  • VideoDownloadTrack

  • VideoPlaybackTrack

  • Visibility

  • Volume

  • Width

The supported events of SmoothStreamingMediaElement include:

  • BindingValidationError

  • BufferingProgressChanged

  • ClipError

  • ClipStateChanged

  • CurrentStateChanged

  • DownloadProgressChanged

  • DownloadTrackChanged

  • DragEnter

  • DragLeave

  • DragOver

  • Drop

  • DurationExtended

  • GotFocus

  • IsEnabledChanged

  • KeyDown

  • KeyUp

  • LayoutUpdated

  • LiveEventCompleted

  • Loaded

  • LostFocus

  • LostMouseCapture

  • ManifestReady

  • MediaEnded

  • MediaFailed

  • MediaOpened

  • MouseEnter

  • MouseLeave

  • MouseLeftButtonDown

  • MouseLeftButtonUp

  • MouseMove

  • MouseRightButtonDown

  • MouseRightButtonUp

  • PlaybackTrackChanged

  • SeekCompleted

  • SizeChanged

  • SmoothStreamingErrorOccurred

  • Unloaded

Show: