]> git.sesse.net Git - vlc/commitdiff
* access2, demux2: not needed anymore.
authorLaurent Aimar <fenrir@videolan.org>
Tue, 22 Jun 2004 19:46:10 +0000 (19:46 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Tue, 22 Jun 2004 19:46:10 +0000 (19:46 +0000)
modules/access/access2.c [deleted file]
modules/demux/demux2.c [deleted file]

diff --git a/modules/access/access2.c b/modules/access/access2.c
deleted file mode 100644 (file)
index e509d8c..0000000
+++ /dev/null
@@ -1,441 +0,0 @@
-/*****************************************************************************
- * access2 adaptation layer.
- *****************************************************************************
- * Copyright (C) 2004 VideoLAN
- * $Id: demux2.c 7783 2004-05-27 00:02:43Z hartman $
- *
- * Authors: Laurent Aimar <fenrir@via.ecp.fr>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include <stdlib.h>                                      /* malloc(), free() */
-
-#include <vlc/vlc.h>
-#include <vlc/input.h>
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-static int  Access2Open ( vlc_object_t * );
-static void Access2Close( vlc_object_t * );
-
-vlc_module_begin();
-    set_description( _("Access2 adaptation layer" ) );
-    set_capability( "access", 50 );
-    set_callbacks( Access2Open, Access2Close );
-    add_shortcut( "access2" );
-    add_shortcut( "http" );
-    add_shortcut( "ftp" );
-    add_shortcut( "tcp" );
-    add_shortcut( "pvr" );
-
-    add_shortcut( "file" );
-    add_shortcut( "stream" );
-    add_shortcut( "kfir" );
-
-    add_shortcut( "udp" );
-    add_shortcut( "udp4" );
-    add_shortcut( "udp6" );
-
-    add_shortcut( "rtp" );
-    add_shortcut( "rtp4" );
-    add_shortcut( "rtp6" );
-
-    add_shortcut( "cdda" );
-    add_shortcut( "cddasimple" );
-
-    add_shortcut( "mms" );
-    add_shortcut( "mmsh" );
-    add_shortcut( "mmst" );
-    add_shortcut( "mmsu" );
-
-    add_shortcut( "vcd" );
-    add_shortcut( "svcd" );
-
-    add_shortcut( "v4l" );
-    add_shortcut( "dshow" );
-vlc_module_end();
-
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
-static int  Access2Read   ( input_thread_t *, byte_t *, size_t );
-static void Access2Seek   ( input_thread_t *, off_t );
-static int  Access2SetArea( input_thread_t *, input_area_t * );
-static int  Access2Control( input_thread_t *, int, va_list );
-
-typedef struct
-{
-    access_t  *p_access;
-    block_t   *p_block;
-
-    int i_title;
-    input_title_t **title;
-
-    vlc_bool_t b_first_read;
-
-} access2_sys_t;
-
-static void UpdateInfo( input_thread_t *p_input, vlc_bool_t b_force_chapter );
-
-/*****************************************************************************
- * Access2Open: initializes structures
- *****************************************************************************/
-static int Access2Open( vlc_object_t * p_this )
-{
-    input_thread_t *p_input = (input_thread_t *)p_this;
-    access2_sys_t  *p_sys   = malloc( sizeof( access2_sys_t ) );
-    access_t       *p_access;
-
-    int            i_int;
-    int64_t        i_64;
-    vlc_bool_t     b_bool;
-
-    p_access = access2_New( p_input,
-                            p_input->psz_access, p_input->psz_demux,
-                            p_input->psz_name );
-
-    if( !p_access )
-    {
-        free( p_sys );
-        return VLC_EGENERIC;
-    }
-
-    /* Init p_input->* */
-    p_input->pf_read           = Access2Read;
-    p_input->pf_seek           = Access2Seek;
-    p_input->pf_set_program    = input_SetProgram;
-    p_input->pf_set_area       = Access2SetArea;
-    p_input->pf_access_control = Access2Control;
-    p_input->p_access_data = (access_sys_t*)p_sys;
-
-    p_sys->p_access = p_access;
-    p_sys->p_block = NULL;
-    p_sys->b_first_read = VLC_TRUE;
-
-    /* mtu */
-    access2_Control( p_access, ACCESS_GET_MTU, &i_int );
-    p_input->i_mtu = i_int;
-    /* pts delay */
-    access2_Control( p_access, ACCESS_GET_PTS_DELAY, &i_64 );
-    p_input->i_pts_delay = i_64;
-
-    if( p_access->psz_demux && *p_access->psz_demux )
-    {
-        if( !p_input->psz_demux || *p_input->psz_demux == '\0' )
-            p_input->psz_demux = strdup( p_access->psz_demux );
-    }
-    /* title */
-    if( access2_Control( p_access, ACCESS_GET_TITLE_INFO,
-                         &p_sys->title, &p_sys->i_title ) )
-    {
-        p_sys->i_title = 0;
-        p_sys->title   = NULL;
-    }
-
-    /* Init p_input->stream.* */
-    vlc_mutex_lock( &p_input->stream.stream_lock );
-    if( p_sys->i_title > 0 )
-    {
-        /* FIXME handle the area 0 */
-        int64_t i_start = 0;
-        int i;
-
-        /* Initialize ES structures */
-        input_InitStream( p_input, 0 );
-
-#define area p_input->stream.pp_areas
-        for( i = 0 ; i < p_sys->i_title ; i++ )
-        {
-            input_title_t *t = p_sys->title[i];
-
-            input_AddArea( p_input, i+1,
-                           t->i_seekpoint > 0 ? t->i_seekpoint : 1 );
-
-            /* Absolute start offset and size */
-            area[i]->i_start = i_start;
-            area[i]->i_size  = t->i_size;
-
-            i_start += t->i_size;
-        }
-#undef area
-
-        /* Set the area */
-        Access2SetArea( p_input, p_input->stream.pp_areas[1+p_access->info.i_title] );
-    }
-
-    /* size */
-    p_input->stream.p_selected_area->i_size  = p_access->info.i_size;
-    /* seek */
-    access2_Control( p_access, ACCESS_CAN_SEEK, &b_bool );
-    p_input->stream.b_seekable = b_bool;
-    /* pace */
-    access2_Control( p_access, ACCESS_CAN_CONTROL_PACE, &b_bool );
-    p_input->stream.b_pace_control = b_bool;
-   /* End of init */
-    access2_Control( p_access, ACCESS_CAN_FASTSEEK, &b_bool );
-    if( b_bool )
-        p_input->stream.i_method = INPUT_METHOD_FILE;   /* FIXME */
-    else
-        p_input->stream.i_method = INPUT_METHOD_NETWORK;/* FIXME */
-    p_input->stream.p_selected_area->i_tell = p_access->info.i_pos;
-    vlc_mutex_unlock( &p_input->stream.stream_lock );
-
-    return VLC_SUCCESS;
-}
-
-/*****************************************************************************
- * Access2Close: frees unused data
- *****************************************************************************/
-static void Access2Close( vlc_object_t * p_this )
-{
-    input_thread_t *p_input = (input_thread_t*)p_this;
-    access2_sys_t  *p_sys = (access2_sys_t*)p_input->p_access_data;
-    int i;
-
-    access2_Delete( p_sys->p_access );
-
-    for( i = 0; i < p_sys->i_title; i++ )
-    {
-        vlc_input_title_Delete( p_sys->title[i] );
-    }
-    if( p_sys->title ) free( p_sys->title );
-
-    if( p_sys->p_block )
-        block_Release( p_sys->p_block );
-
-    free( p_sys );
-}
-
-/*****************************************************************************
- * Access2Read: Read data
- *****************************************************************************
- * Returns -1 in case of error, 0 in case of EOF, size otherwise
- *****************************************************************************/
-static int  Access2Read( input_thread_t *p_input, byte_t *p_buffer, size_t i_len )
-{
-    access2_sys_t *p_sys = (access2_sys_t*)p_input->p_access_data;
-    access_t      *p_access = p_sys->p_access;
-    int           i_total = 0;
-
-    /* TODO update i_size (ex: when read more than half current size and only every 100 times or ...) */
-
-    if( p_access->pf_read )
-    {
-        i_total = p_access->pf_read( p_access, (uint8_t*)p_buffer, (int)i_len );
-        goto update;
-    }
-
-    /* Should never occur */
-    if( p_access->pf_block == NULL )
-    {
-        i_total = 0;
-        goto update;
-    }
-
-    /* Emulate the read */
-    while( i_total < i_len )
-    {
-        int i_copy;
-        if( p_sys->p_block == NULL )
-        {
-            p_sys->p_block = p_access->pf_block( p_access );
-        }
-        if( p_sys->p_block == NULL )
-        {
-            if( !p_access->info.b_eof && i_total <= 0 )
-                i_total = -1;
-            goto update;
-        }
-
-        i_copy = __MIN( i_len - i_total, p_sys->p_block->i_buffer );
-        if( i_copy > 0 )
-        {
-            memcpy( &p_buffer[i_total], p_sys->p_block->p_buffer, i_copy );
-
-            p_sys->p_block->i_buffer -= i_copy;
-            p_sys->p_block->p_buffer += i_copy;
-        }
-
-        if( p_sys->p_block->i_buffer <= 0 )
-        {
-            block_Release( p_sys->p_block );
-            p_sys->p_block = NULL;
-        }
-
-        i_total += i_copy;
-    }
-update:
-    if( p_sys->b_first_read )
-    {
-        /* Some access update it only after first read (like udp) */
-        if( p_access->psz_demux && *p_access->psz_demux )
-        {
-            if( !p_input->psz_demux || *p_input->psz_demux == '\0' )
-                p_input->psz_demux = strdup( p_access->psz_demux );
-        }
-        p_sys->b_first_read = VLC_FALSE;
-    }
-
-    vlc_mutex_lock( &p_input->stream.stream_lock );
-    UpdateInfo( p_input, VLC_FALSE );
-    vlc_mutex_unlock( &p_input->stream.stream_lock );
-
-    return i_total;
-}
-
-/*****************************************************************************
- * Access2SetArea: initialize input data for title x.
- * It should be called for each user navigation request.
- ****************************************************************************/
-static int Access2SetArea( input_thread_t * p_input, input_area_t * p_area )
-{
-    access2_sys_t *p_sys = (access2_sys_t*)p_input->p_access_data;
-    access_t      *p_access = p_sys->p_access;
-    int           i_seekpoint = p_area->i_part - 1;
-
-    /* we can't use the interface slider until initilization is complete */
-    p_input->stream.b_seekable = 0;
-
-    if( p_area != p_input->stream.p_selected_area )
-    {
-        /* Call access2 control */
-        if( access2_Control( p_access, ACCESS_SET_TITLE, (int)(p_area->i_id - 1) ) )
-            return VLC_EGENERIC;
-
-        p_input->stream.p_selected_area = p_area;
-    }
-    fprintf( stderr, "Access2SetArea: part=%d seekpart=%d nbseekpoint=%d\n",
-             p_area->i_part, i_seekpoint, p_sys->title[p_access->info.i_title]->i_seekpoint );
-
-    if( i_seekpoint != p_access->info.i_seekpoint &&
-        i_seekpoint >= 0 &&
-        i_seekpoint < p_sys->title[p_access->info.i_title]->i_seekpoint )
-    {
-        msg_Dbg( p_input, "setting seekpoint" );
-        access2_Control( p_access, ACCESS_SET_SEEKPOINT, (int)i_seekpoint );
-    }
-
-    UpdateInfo( p_input, VLC_TRUE );
-
-    /* warn interface that something has changed */
-    p_input->stream.b_seekable = VLC_TRUE;
-    p_input->stream.b_changed = VLC_TRUE;
-    return VLC_EGENERIC;
-}
-
-
-/*****************************************************************************
- * Access2Seek:
- *****************************************************************************
- * Returns VLC_EGENERIC/VLC_SUCCESS
- *****************************************************************************/
-static void Access2Seek( input_thread_t *p_input, off_t i_pos )
-{
-    access2_sys_t *p_sys = (access2_sys_t*)p_input->p_access_data;
-    access_t      *p_access = p_sys->p_access;
-
-    if( p_access->pf_seek != NULL && p_input->stream.b_seekable )
-    {
-        if( !p_access->pf_seek( p_access, i_pos ) )
-        {
-            if( p_sys->p_block )
-            {
-                block_Release( p_sys->p_block );
-                p_sys->p_block = NULL;
-            }
-
-            vlc_mutex_lock( &p_input->stream.stream_lock );
-            p_input->stream.p_selected_area->i_tell = p_access->info.i_pos;
-            vlc_mutex_unlock( &p_input->stream.stream_lock );
-        }
-    }
-}
-
-/*****************************************************************************
- * Access2Control:
- *****************************************************************************
- * Returns VLC_EGENERIC/VLC_SUCCESS
- *****************************************************************************/
-static int  Access2Control( input_thread_t *p_input, int i_query, va_list args )
-{
-    access2_sys_t *p_sys = (access2_sys_t*)p_input->p_access_data;
-    access_t      *p_access = p_sys->p_access;
-
-    return access2_vaControl( p_access, i_query, args );
-}
-
-/*****************************************************************************
- * UpdateInfo:
- *****************************************************************************/
-static void UpdateInfo( input_thread_t *p_input, vlc_bool_t b_force_chapter )
-{
-    access2_sys_t *p_sys = (access2_sys_t*)p_input->p_access_data;
-    access_t      *p_access = p_sys->p_access;
-
-    /* Title change */
-    if( p_access->info.i_update & INPUT_UPDATE_TITLE )
-    {
-        int i_seekpoint;
-        int i;
-
-        vlc_value_t val;
-        msg_Dbg( p_input, "INPUT_UPDATE_TITLE" );
-
-        p_input->stream.p_selected_area = p_input->stream.pp_areas[p_access->info.i_title+1];
-        p_input->stream.p_selected_area->i_part = 1;
-        p_input->stream.p_selected_area->i_tell = p_access->info.i_pos;
-        p_input->stream.b_changed = VLC_TRUE;
-
-        val.i_int = p_access->info.i_title+1;
-        var_Change( p_input, "title", VLC_VAR_SETVALUE, &val, NULL );
-
-        var_Change( p_input, "chapter", VLC_VAR_CLEARCHOICES, NULL, NULL );
-        i_seekpoint = p_sys->title[p_access->info.i_title]->i_seekpoint;
-        for( i = 0; i < i_seekpoint ? i_seekpoint : 0; i++ )
-        {
-            val.i_int = i + 1;
-            var_Change( p_input, "chapter", VLC_VAR_ADDCHOICE, &val, NULL );
-        }
-
-        p_access->info.i_update &= ~INPUT_UPDATE_TITLE;
-    }
-    /* b_force_chapter: don't force a chapter change when a there is
-     * pending user one (as it reset i_part */
-    if( p_access->info.i_update & INPUT_UPDATE_SEEKPOINT &&
-        ( b_force_chapter || !p_input->stream.p_new_area ) )
-    {
-        vlc_value_t val;
-        /* TODO is it complete ? */
-        p_input->stream.p_selected_area->i_part = p_access->info.i_seekpoint + 1;
-
-        val.i_int = p_input->stream.p_selected_area->i_part;
-        var_Change( p_input, "chapter", VLC_VAR_SETVALUE, &val, NULL );
-
-        p_access->info.i_update &= ~INPUT_UPDATE_SEEKPOINT;
-    }
-    /* Size change */
-    if( p_access->info.i_update & INPUT_UPDATE_SIZE )
-    {
-        p_input->stream.p_selected_area->i_size  = p_access->info.i_size;
-        p_input->stream.b_changed = VLC_TRUE;
-
-        p_access->info.i_update &= ~INPUT_UPDATE_SIZE;
-    }
-}
diff --git a/modules/demux/demux2.c b/modules/demux/demux2.c
deleted file mode 100644 (file)
index 71dcecc..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*****************************************************************************
- * demux2 adaptation layer.
- *****************************************************************************
- * Copyright (C) 2004 VideoLAN
- * $Id$
- *
- * Authors: Laurent Aimar <fenrir@via.ecp.fr>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-#include <stdlib.h>                                      /* malloc(), free() */
-
-#include <vlc/vlc.h>
-#include <vlc/input.h>
-
-#include "vlc_playlist.h"
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-static int  Demux2Open    ( vlc_object_t * );
-static void Demux2Close  ( vlc_object_t * );
-
-vlc_module_begin();
-    set_description( _("Demux2 adaptation layer" ) );
-    set_capability( "demux", 10 );
-    set_callbacks( Demux2Open, Demux2Close );
-    add_shortcut( "demux2" );
-
-    /* Hack */
-    add_shortcut( "nsv" );
-    add_shortcut( "live" );
-    add_shortcut( "ts" );
-    add_shortcut( "ps2" );
-    add_shortcut( "dvdnav" );
-    add_shortcut( "dvdnavsimple" );
-    add_shortcut( "ffmpeg" );
-    add_shortcut( "mp3" );
-    add_shortcut( "mpga" );
-    add_shortcut( "aac" );
-    add_shortcut( "a52" );
-    add_shortcut( "dts" );
-    add_shortcut( "mod" );
-    add_shortcut( "flac" );
-    add_shortcut( "m3u" );
-    add_shortcut( "playlist" );
-    add_shortcut( "m4v" );
-    add_shortcut( "mp4v" );
-    add_shortcut( "mpgv" );
-    add_shortcut( "rawdv" );
-    add_shortcut( "ogg" );
-    add_shortcut( "h264" );
-    add_shortcut( "avi" );
-    add_shortcut( "mjpeg" );
-    add_shortcut( "directory" );
-    add_shortcut( "wav" );
-    add_shortcut( "v4l" );
-    add_shortcut( "dshow" );
-vlc_module_end();
-
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
-static int  Demux2Demux  ( input_thread_t * );
-static int  Demux2Control( input_thread_t *, int, va_list );
-
-typedef struct
-{
-    demux_t  *p_demux;
-} demux2_sys_t;
-
-/*****************************************************************************
- * Demux2Open: initializes structures
- *****************************************************************************/
-static int Demux2Open( vlc_object_t * p_this )
-{
-    input_thread_t *p_input = (input_thread_t *)p_this;
-    demux2_sys_t   *p_sys   = malloc( sizeof( demux2_sys_t ) );
-    demux_t        *p_demux;
-    playlist_t     *p_playlist;
-
-    if( input_InitStream( p_input, 0 ) )
-    {
-        return VLC_EGENERIC;
-    }
-
-    p_demux = demux2_New( p_input,
-                          p_input->psz_access, p_input->psz_demux,
-                          p_input->psz_name,
-                          p_input->s, p_input->p_es_out );
-
-    if( !p_demux )
-    {
-        /* We should handle special access+demuxer but later */
-        free( p_sys );
-        return VLC_EGENERIC;
-    }
-
-    /* Now retreive meta info from demuxer */
-    if( ( p_playlist = vlc_object_find( p_demux, VLC_OBJECT_PLAYLIST,
-                                        FIND_ANYWHERE ) ) )
-    {
-        int64_t i_length;
-
-        if( !demux2_Control( p_demux, DEMUX_GET_LENGTH, &i_length ) )
-        {
-            playlist_SetDuration( p_playlist, -1, i_length );
-        }
-        vlc_object_release( p_playlist );
-    }
-
-    p_input->pf_demux = Demux2Demux;
-    p_input->pf_demux_control = Demux2Control;
-    p_input->p_demux_data = (demux_sys_t*)p_sys;
-
-    p_sys->p_demux = p_demux;
-
-    return VLC_SUCCESS;
-}
-
-
-/*****************************************************************************
- * Demux2Demux: reads and demuxes data packets
- *****************************************************************************
- * Returns -1 in case of error, 0 in case of EOF, 1 otherwise
- *****************************************************************************/
-static int Demux2Demux( input_thread_t * p_input )
-{
-    demux2_sys_t *p_sys = (demux2_sys_t*)p_input->p_demux_data;
-
-    p_sys->p_demux->b_die = p_input->b_die;
-    return demux2_Demux( p_sys->p_demux );
-}
-
-/*****************************************************************************
- * Demux2Control:
- *****************************************************************************/
-static int  Demux2Control( input_thread_t *p_input, int i_query, va_list args )
-{
-    demux2_sys_t *p_sys = (demux2_sys_t*)p_input->p_demux_data;
-
-    return demux2_vaControl( p_sys->p_demux, i_query, args );
-}
-
-/*****************************************************************************
- * Demux2Close: frees unused data
- *****************************************************************************/
-static void Demux2Close( vlc_object_t * p_this )
-{
-    input_thread_t *p_input = (input_thread_t*)p_this;
-    demux2_sys_t   *p_sys = (demux2_sys_t*)p_input->p_demux_data;
-
-    demux2_Delete( p_sys->p_demux );
-
-    free( p_sys );
-}