Changeset 74ea8fa58e39eb8dffb0c5827484517acae3c0bc
- Timestamp:
- 06/07/02 18:06:09
(6 years ago)
- Author:
- Sam Hocevar <sam@videolan.org>
- git-committer:
- Sam Hocevar <sam@videolan.org> 1023465969 +0000
- git-parent:
[3712520f8b2a1d83426f50a6cf4a63347da57ebb]
- git-author:
- Sam Hocevar <sam@videolan.org> 1023465969 +0000
- Message:
- ./plugins/dummy/input_dummy.c: dummy targets such as vlc:nop, vlc:loop
and vlc:quit work again.
- ./src/playlist/playlist.c: when a new target is added, for instance through the "File" menu, it is automatically played.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r3712520 |
r74ea8fa |
|
| 6 | 6 | Not released yet |
|---|
| 7 | 7 | |
|---|
| | 8 | * ./plugins/dummy/input_dummy.c: dummy targets such as vlc:nop, vlc:loop |
|---|
| | 9 | and vlc:quit work again. |
|---|
| | 10 | * ./src/playlist/playlist.c: when a new target is added, for instance through |
|---|
| | 11 | the "File" menu, it is automatically played. |
|---|
| 8 | 12 | * ./include/vlc_objects.h: pointers are set to NULL after a call to |
|---|
| 9 | 13 | vlc_object_destroy. |
|---|
| r9e3ab28 |
r74ea8fa |
|
| 3 | 3 | ***************************************************************************** |
|---|
| 4 | 4 | * Copyright (C) 2001, 2002 VideoLAN |
|---|
| 5 | | * $Id: input_dummy.c,v 1.18 2002/06/01 12:31:58 sam Exp $ |
|---|
| | 5 | * $Id: input_dummy.c,v 1.19 2002/06/07 16:06:09 sam Exp $ |
|---|
| 6 | 6 | * |
|---|
| 7 | 7 | * Authors: Samuel Hocevar <sam@zoy.org> |
|---|
| … | … | |
| 95 | 95 | /* Force dummy demux plug-in */ |
|---|
| 96 | 96 | p_input->psz_demux = "vlc"; |
|---|
| 97 | | return( 0 ); |
|---|
| | 97 | return 0; |
|---|
| 98 | 98 | } |
|---|
| 99 | 99 | |
|---|
| … | … | |
| 121 | 121 | { |
|---|
| 122 | 122 | msg_Err( p_input, "out of memory" ); |
|---|
| 123 | | return( -1 ); |
|---|
| | 123 | return -1; |
|---|
| 124 | 124 | } |
|---|
| 125 | 125 | |
|---|
| … | … | |
| 132 | 132 | msg_Info( p_input, "command `nop'" ); |
|---|
| 133 | 133 | p_method->i_command = COMMAND_NOP; |
|---|
| 134 | | return( 0 ); |
|---|
| | 134 | return 0; |
|---|
| 135 | 135 | } |
|---|
| 136 | 136 | |
|---|
| … | … | |
| 140 | 140 | msg_Info( p_input, "command `quit'" ); |
|---|
| 141 | 141 | p_method->i_command = COMMAND_QUIT; |
|---|
| 142 | | return( 0 ); |
|---|
| | 142 | return 0; |
|---|
| 143 | 143 | } |
|---|
| 144 | 144 | |
|---|
| … | … | |
| 148 | 148 | msg_Info( p_input, "command `loop'" ); |
|---|
| 149 | 149 | p_method->i_command = COMMAND_LOOP; |
|---|
| 150 | | return( 0 ); |
|---|
| | 150 | return 0; |
|---|
| 151 | 151 | } |
|---|
| 152 | 152 | |
|---|
| … | … | |
| 158 | 158 | p_method->i_command = COMMAND_PAUSE; |
|---|
| 159 | 159 | p_method->expiration = mdate() + (mtime_t)i_arg * (mtime_t)1000000; |
|---|
| 160 | | return( 0 ); |
|---|
| | 160 | return 0; |
|---|
| 161 | 161 | } |
|---|
| 162 | 162 | |
|---|
| … | … | |
| 165 | 165 | p_input->b_error = 1; |
|---|
| 166 | 166 | |
|---|
| 167 | | return( -1 ); |
|---|
| | 167 | return -1; |
|---|
| 168 | 168 | } |
|---|
| 169 | 169 | |
|---|
| … | … | |
| 182 | 182 | { |
|---|
| 183 | 183 | struct demux_sys_s * p_method = p_input->p_demux_data; |
|---|
| | 184 | playlist_t *p_playlist; |
|---|
| | 185 | |
|---|
| | 186 | p_playlist = vlc_object_find( p_input, VLC_OBJECT_PLAYLIST, FIND_PARENT ); |
|---|
| | 187 | |
|---|
| | 188 | if( p_playlist == NULL ) |
|---|
| | 189 | { |
|---|
| | 190 | msg_Err( p_input, "we are not attached to a playlist" ); |
|---|
| | 191 | p_input->b_error = 1; |
|---|
| | 192 | return 1; |
|---|
| | 193 | } |
|---|
| 184 | 194 | |
|---|
| 185 | 195 | switch( p_method->i_command ) |
|---|
| … | … | |
| 187 | 197 | case COMMAND_QUIT: |
|---|
| 188 | 198 | p_input->p_vlc->b_die = 1; |
|---|
| 189 | | p_input->b_die = 1; |
|---|
| 190 | 199 | break; |
|---|
| 191 | 200 | |
|---|
| 192 | 201 | case COMMAND_LOOP: |
|---|
| 193 | | //playlist_Jumpto( p_input->p_vlc->p_playlist, -1 ); |
|---|
| 194 | | p_input->b_eof = 1; |
|---|
| | 202 | playlist_Goto( p_playlist, 0 ); |
|---|
| 195 | 203 | break; |
|---|
| 196 | 204 | |
|---|
| … | … | |
| 212 | 220 | } |
|---|
| 213 | 221 | |
|---|
| | 222 | vlc_object_release( p_playlist ); |
|---|
| | 223 | |
|---|
| 214 | 224 | return 1; |
|---|
| 215 | 225 | } |
|---|
| rb9e9cb4 |
r74ea8fa |
|
| 3 | 3 | ***************************************************************************** |
|---|
| 4 | 4 | * Copyright (C) 2001 VideoLAN |
|---|
| 5 | | * $Id: gtk_playlist.c,v 1.33 2002/06/07 14:30:41 sam Exp $ |
|---|
| | 5 | * $Id: gtk_playlist.c,v 1.34 2002/06/07 16:06:09 sam Exp $ |
|---|
| 6 | 6 | * |
|---|
| 7 | 7 | * Authors: Pierre Baillet <oct@zoy.org> |
|---|
| … | … | |
| 65 | 65 | gpointer user_data ) |
|---|
| 66 | 66 | { |
|---|
| 67 | | intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); |
|---|
| 68 | | playlist_t *p_playlist; |
|---|
| 69 | | |
|---|
| 70 | | p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); |
|---|
| | 67 | intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); |
|---|
| | 68 | playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, |
|---|
| | 69 | FIND_ANYWHERE ); |
|---|
| 71 | 70 | if( p_playlist == NULL ) |
|---|
| 72 | 71 | { |
|---|
| … | … | |
| 111 | 110 | gpointer user_data ) |
|---|
| 112 | 111 | { |
|---|
| 113 | | intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); |
|---|
| 114 | | playlist_t *p_playlist; |
|---|
| 115 | | |
|---|
| 116 | | p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); |
|---|
| 117 | | |
|---|
| 118 | | if( p_playlist ) |
|---|
| 119 | | { |
|---|
| 120 | | playlist_Prev( p_playlist ); |
|---|
| 121 | | vlc_object_release( p_playlist ); |
|---|
| 122 | | } |
|---|
| | 112 | intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); |
|---|
| | 113 | playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, |
|---|
| | 114 | FIND_ANYWHERE ); |
|---|
| | 115 | if( p_playlist == NULL ) |
|---|
| | 116 | { |
|---|
| | 117 | return FALSE; |
|---|
| | 118 | } |
|---|
| | 119 | |
|---|
| | 120 | playlist_Prev( p_playlist ); |
|---|
| | 121 | vlc_object_release( p_playlist ); |
|---|
| 123 | 122 | |
|---|
| 124 | 123 | return TRUE; |
|---|
| … | … | |
| 129 | 128 | gpointer user_data) |
|---|
| 130 | 129 | { |
|---|
| 131 | | intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); |
|---|
| 132 | | playlist_t *p_playlist; |
|---|
| 133 | | |
|---|
| 134 | | p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); |
|---|
| 135 | | |
|---|
| 136 | | if( p_playlist ) |
|---|
| 137 | | { |
|---|
| 138 | | playlist_Next( p_playlist ); |
|---|
| 139 | | vlc_object_release( p_playlist ); |
|---|
| 140 | | } |
|---|
| | 130 | intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); |
|---|
| | 131 | playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, |
|---|
| | 132 | FIND_ANYWHERE ); |
|---|
| | 133 | if( p_playlist == NULL ) |
|---|
| | 134 | { |
|---|
| | 135 | return FALSE; |
|---|
| | 136 | } |
|---|
| | 137 | |
|---|
| | 138 | playlist_Next( p_playlist ); |
|---|
| | 139 | vlc_object_release( p_playlist ); |
|---|
| 141 | 140 | |
|---|
| 142 | 141 | return TRUE; |
|---|
| rb9e9cb4 |
r74ea8fa |
|
| 3 | 3 | ***************************************************************************** |
|---|
| 4 | 4 | * Copyright (C) 2002 VideoLAN |
|---|
| 5 | | * $Id: objects.c,v 1.8 2002/06/07 14:30:41 sam Exp $ |
|---|
| | 5 | * $Id: objects.c,v 1.9 2002/06/07 16:06:09 sam Exp $ |
|---|
| 6 | 6 | * |
|---|
| 7 | 7 | * Authors: Samuel Hocevar <sam@zoy.org> |
|---|
| … | … | |
| 182 | 182 | while( p_this->i_refcount ) |
|---|
| 183 | 183 | { |
|---|
| 184 | | if( i_delay == 0 ) |
|---|
| | 184 | i_delay++; |
|---|
| | 185 | |
|---|
| | 186 | /* Don't warn immediately ... 100ms seems OK */ |
|---|
| | 187 | if( i_delay == 2 ) |
|---|
| 185 | 188 | { |
|---|
| 186 | 189 | msg_Warn( p_this, "refcount is %i, delaying before deletion", |
|---|
| … | … | |
| 198 | 201 | } |
|---|
| 199 | 202 | |
|---|
| 200 | | i_delay++; |
|---|
| 201 | 203 | msleep( 100000 ); |
|---|
| 202 | 204 | } |
|---|
| rb9e9cb4 |
r74ea8fa |
|
| 3 | 3 | ***************************************************************************** |
|---|
| 4 | 4 | * Copyright (C) 1999-2001 VideoLAN |
|---|
| 5 | | * $Id: playlist.c,v 1.6 2002/06/07 14:30:41 sam Exp $ |
|---|
| | 5 | * $Id: playlist.c,v 1.7 2002/06/07 16:06:09 sam Exp $ |
|---|
| 6 | 6 | * |
|---|
| 7 | 7 | * Authors: Samuel Hocevar <sam@zoy.org> |
|---|
| … | … | |
| 180 | 180 | |
|---|
| 181 | 181 | p_playlist->pp_items[i_pos] = p_item; |
|---|
| 182 | | p_playlist->i_status = PLAYLIST_RUNNING; |
|---|
| | 182 | |
|---|
| | 183 | if( i_mode & PLAYLIST_GO ) |
|---|
| | 184 | { |
|---|
| | 185 | p_playlist->i_index = i_pos; |
|---|
| | 186 | if( p_playlist->p_input ) |
|---|
| | 187 | { |
|---|
| | 188 | input_StopThread( p_playlist->p_input ); |
|---|
| | 189 | } |
|---|
| | 190 | p_playlist->i_status = PLAYLIST_RUNNING; |
|---|
| | 191 | } |
|---|
| 183 | 192 | |
|---|
| 184 | 193 | vlc_mutex_unlock( &p_playlist->object_lock ); |
|---|