Changeset 794a69356e450a617a4adde3775cfa50ae643a20
- Timestamp:
- 03/18/08 19:28:38 (4 months ago)
- git-parent:
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
bindings/java/core/src/test/java/org/videolan/jvlc/internal/MediaListPlayerTest.java
r031256f r794a693 111 111 } 112 112 113 // @Test114 113 /** 115 * disabled: see https://trac.videolan.org/vlc/attachment/ticket/1527114 * this fails: see https://trac.videolan.org/vlc/attachment/ticket/1527 116 115 */ 116 @Test 117 117 public void mediaListPlayerPlay() 118 118 { … … 124 124 libvlc.libvlc_media_list_player_set_media_list(mediaListPlayer, mediaList, exception); 125 125 libvlc.libvlc_media_list_player_play(mediaListPlayer, exception); 126 Assert.assertEquals("Exception message: " + exception.message + ".\n", 0, exception.raised); 127 } 128 129 @Test 130 public void mediaListPlayerPlayItemAtIndex() 131 { 132 libvlc_exception_t exception = new libvlc_exception_t(); 133 LibVlcMediaListPlayer mediaListPlayer = libvlc.libvlc_media_list_player_new(libvlcInstance, exception); 134 LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception); 135 LibVlcMediaDescriptor mediaDescriptor = libvlc.libvlc_media_descriptor_new(libvlcInstance, mrl, exception); 136 libvlc.libvlc_media_list_add_media_descriptor(mediaList, mediaDescriptor, exception); 137 libvlc.libvlc_media_list_player_set_media_list(mediaListPlayer, mediaList, exception); 138 libvlc.libvlc_media_list_player_play_item_at_index(mediaListPlayer, 0, exception); 139 } 140 141 @Test 142 public void mediaListPlayerPlayItem() throws Exception 143 { 144 libvlc_exception_t exception = new libvlc_exception_t(); 145 LibVlcMediaListPlayer mediaListPlayer = libvlc.libvlc_media_list_player_new(libvlcInstance, exception); 146 LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception); 147 LibVlcMediaDescriptor mediaDescriptor = libvlc.libvlc_media_descriptor_new(libvlcInstance, mrl, exception); 148 libvlc.libvlc_media_list_add_media_descriptor(mediaList, mediaDescriptor, exception); 149 libvlc.libvlc_media_list_player_set_media_list(mediaListPlayer, mediaList, exception); 150 libvlc.libvlc_media_list_player_play_item(mediaListPlayer, mediaDescriptor, exception); 151 Thread.sleep(6000); 152 } 153 154 @Test 155 public void mediaListPlayerGetStateStopped() 156 { 157 libvlc_exception_t exception = new libvlc_exception_t(); 158 LibVlcMediaListPlayer mediaListPlayer = libvlc.libvlc_media_list_player_new(libvlcInstance, exception); 159 int state = libvlc.libvlc_media_list_player_get_state(mediaListPlayer, exception); 160 Assert.assertEquals(LibVlcState.libvlc_Stopped.ordinal(), state); 126 161 } 127 162 src/control/media_list_player.c
r34ab57a r794a693 42 42 libvlc_media_list_t * p_sublist_of_playing_item; 43 43 44 if ( !p_mlp->current_playing_item_path ) 45 { 46 p_mlp->current_playing_item_path = libvlc_media_list_path_empty(); 47 } 48 44 49 p_sublist_of_playing_item = libvlc_media_list_sublist_at_path( 45 50 p_mlp->p_mlist, … … 150 155 uninstall_playlist_observer( libvlc_media_list_player_t * p_mlp ) 151 156 { 157 if ( !p_mlp->p_mlist ) 158 { 159 return; 160 } 161 152 162 libvlc_event_detach( libvlc_media_list_event_manager( p_mlp->p_mlist, NULL ), 153 163 libvlc_MediaListItemDeleted, mlist_item_deleted, p_mlp, NULL ); … … 172 182 uninstall_media_instance_observer( libvlc_media_list_player_t * p_mlp ) 173 183 { 184 if ( !p_mlp->p_mi ) 185 { 186 return; 187 } 188 174 189 libvlc_event_detach( libvlc_media_instance_event_manager( p_mlp->p_mi, NULL ), 175 190 libvlc_MediaInstanceReachedEnd, … … 205 220 /* We are not interested in getting media_descriptor stop event now */ 206 221 uninstall_media_instance_observer( p_mlp ); 222 223 if ( !p_mlp->p_mi ) 224 { 225 p_mlp->p_mi = libvlc_media_instance_new_from_media_descriptor(p_md, p_e); 226 } 227 207 228 if( p_md->p_subitems && libvlc_media_list_count( p_md->p_subitems, NULL ) > 0 ) 208 229 { … … 219 240 vlc_mutex_unlock( &p_mlp->object_lock ); 220 241 221 libvlc_media_list_unlock( p_mlp->p_mlist );222 223 242 libvlc_media_descriptor_release( p_md ); /* for libvlc_media_list_item_at_index */ 224 243 } … … 414 433 libvlc_exception_t * p_e ) 415 434 { 416 libvlc_media_instance_stop( p_mlp->p_mi, p_e ); 435 if ( p_mlp->p_mi ) 436 { 437 libvlc_media_instance_stop( p_mlp->p_mi, p_e ); 438 } 417 439 418 440 vlc_mutex_lock( &p_mlp->object_lock );
