*/
- (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 state flag identifying that the stream is currently playing.
NSSize result = NSMakeSize(libvlc_video_get_height((libvlc_media_player_t *)instance, &ex),
libvlc_video_get_width((libvlc_media_player_t *)instance, &ex));
catch_exception( &ex );
- return result;
+ return result;
}
- (BOOL)hasVideoOut
[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
{
return [NSSet setWithObjects:@"state", nil];