Commit 55a60c20 authored by Felix Paul Kühne's avatar Felix Paul Kühne

osx/framework: added convenience methods for jumps within a stream

parent 2996a461
...@@ -190,6 +190,58 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state); ...@@ -190,6 +190,58 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*/ */
- (void)rewindAtRate:(float)rate; - (void)rewindAtRate:(float)rate;
/**
* Jumps shortly backward in current stream if seeking is supported.
* \param interval to skip, in sec.
*/
- (void)jumpBackward:(NSInteger)interval;
/**
* Jumps shortly forward in current stream if seeking is supported.
* \param interval to skip, in sec.
*/
- (void)jumpForward:(NSInteger)interval;
/**
* Jumps shortly backward in current stream if seeking is supported.
*/
- (void)extraShortJumpBackward;
/**
* Jumps shortly forward in current stream if seeking is supported.
*/
- (void)extraShortJumpForward;
/**
* Jumps shortly backward in current stream if seeking is supported.
*/
- (void)shortJumpBackward;
/**
* Jumps shortly forward in current stream if seeking is supported.
*/
- (void)shortJumpForward;
/**
* Jumps shortly backward in current stream if seeking is supported.
*/
- (void)mediumJumpBackward;
/**
* Jumps shortly forward in current stream if seeking is supported.
*/
- (void)mediumJumpForward;
/**
* Jumps shortly backward in current stream if seeking is supported.
*/
- (void)longJumpBackward;
/**
* Jumps shortly forward in current stream if seeking is supported.
*/
- (void)longJumpForward;
/* Playback Information */ /* Playback Information */
/** /**
* Playback state flag identifying that the stream is currently playing. * Playback state flag identifying that the stream is currently playing.
......
...@@ -325,7 +325,7 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void * ...@@ -325,7 +325,7 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void *
NSSize result = NSMakeSize(libvlc_video_get_height((libvlc_media_player_t *)instance, &ex), NSSize result = NSMakeSize(libvlc_video_get_height((libvlc_media_player_t *)instance, &ex),
libvlc_video_get_width((libvlc_media_player_t *)instance, &ex)); libvlc_video_get_width((libvlc_media_player_t *)instance, &ex));
catch_exception( &ex ); catch_exception( &ex );
return result; return result;
} }
- (BOOL)hasVideoOut - (BOOL)hasVideoOut
...@@ -516,6 +516,64 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void * ...@@ -516,6 +516,64 @@ static void HandleMediaInstanceStateChanged(const libvlc_event_t * event, void *
[self setRate: -rate]; [self setRate: -rate];
} }
- (void)jumpBackward:(NSInteger)interval
{
if( [self isSeekable] )
{
interval = interval * 1000000;
[self setTime: [VLCTime timeWithInt: ([[self time] intValue] - interval)]];
}
}
- (void)jumpForward:(NSInteger)interval
{
if( [self isSeekable] )
{
interval = interval * 1000000;
[self setTime: [VLCTime timeWithInt: ([[self time] intValue] + interval)]];
}
}
- (void)extraShortJumpBackward
{
[self jumpBackward:3];
}
- (void)extraShortJumpForward
{
[self jumpForward:3];
}
- (void)shortJumpBackward
{
[self jumpBackward:10];
}
- (void)shortJumpForward
{
[self jumpForward:10];
}
- (void)mediumJumpBackward
{
[self jumpBackward:60];
}
- (void)mediumJumpForward
{
[self jumpForward:60];
}
- (void)longJumpBackward
{
[self jumpBackward:300];
}
- (void)longJumpForward
{
[self jumpForward:300];
}
+ (NSSet *)keyPathsForValuesAffectingIsPlaying + (NSSet *)keyPathsForValuesAffectingIsPlaying
{ {
return [NSSet setWithObjects:@"state", nil]; return [NSSet setWithObjects:@"state", nil];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment