[vlc-commits] libvlc: remove vlc_epg_Merge

Francois Cartegnie git at videolan.org
Tue Sep 5 15:26:58 CEST 2017


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Sep  4 22:09:41 2017 +0200| [38bef9cdb5cd74e81f4dcef879c740f06d394b67] | committer: Francois Cartegnie

libvlc: remove vlc_epg_Merge

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=38bef9cdb5cd74e81f4dcef879c740f06d394b67
---

 NEWS                |  1 +
 include/vlc_epg.h   |  6 ----
 src/libvlccore.sym  |  1 -
 src/misc/epg.c      | 77 -------------------------------------------------
 test/src/misc/epg.c | 82 -----------------------------------------------------
 5 files changed, 1 insertion(+), 166 deletions(-)

diff --git a/NEWS b/NEWS
index fd309e300b..cab32bfd5a 100644
--- a/NEWS
+++ b/NEWS
@@ -266,6 +266,7 @@ libVLC:
  * Add libvlc_media_player_add_slave to replace libvlc_video_set_subtitle_file,
    working with MRL and supporting also audio slaves
  * Add vlc_epg_event_(New|Delete|Duplicate), vlc_epg_AddEvent, vlc_epg_Duplicate
+   and removes vlc_epg_Merge
 
 Logging
  * Support for the SystemD Journal
diff --git a/include/vlc_epg.h b/include/vlc_epg.h
index e95d111ad5..f7b9044e7c 100644
--- a/include/vlc_epg.h
+++ b/include/vlc_epg.h
@@ -111,12 +111,6 @@ VLC_API bool vlc_epg_AddEvent(vlc_epg_t *p_epg, vlc_epg_event_t *p_evt);
 VLC_API void vlc_epg_SetCurrent(vlc_epg_t *p_epg, int64_t i_start);
 
 /**
- * It merges all the event of \p p_src and \p p_dst into \p p_dst.
- *
- */
-VLC_API void vlc_epg_Merge(vlc_epg_t *p_dst, const vlc_epg_t *p_src);
-
-/**
  * Returns a duplicated \p p_src and its associated events.
  *
  */
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index 2d5d4feb55..929a6dcc1f 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -678,7 +678,6 @@ vlc_epg_Delete
 vlc_epg_Duplicate
 vlc_epg_AddEvent
 vlc_epg_SetCurrent
-vlc_epg_Merge
 vlc_fifo_Lock
 vlc_fifo_Unlock
 vlc_fifo_Signal
diff --git a/src/misc/epg.c b/src/misc/epg.c
index 0fffdf2639..79105436e6 100644
--- a/src/misc/epg.c
+++ b/src/misc/epg.c
@@ -219,83 +219,6 @@ void vlc_epg_SetCurrent( vlc_epg_t *p_epg, int64_t i_start )
     }
 }
 
-static void vlc_epg_Prune( vlc_epg_t *p_dst )
-{
-    /* Keep only 1 old event  */
-    if( p_dst->p_current )
-    {
-        while( p_dst->i_event > 1 && p_dst->pp_event[0] != p_dst->p_current && p_dst->pp_event[1] != p_dst->p_current )
-        {
-            vlc_epg_event_Delete( p_dst->pp_event[0] );
-            TAB_ERASE( p_dst->i_event, p_dst->pp_event, 0 );
-        }
-    }
-}
-
-void vlc_epg_Merge( vlc_epg_t *p_dst_epg, const vlc_epg_t *p_src_epg )
-{
-    if( p_src_epg->i_event == 0 )
-        return;
-
-    size_t i_dst=0;
-    size_t i_src=0;
-    for( ; i_src < p_src_epg->i_event; i_src++ )
-    {
-        bool b_current = ( p_src_epg->pp_event[i_src] == p_src_epg->p_current );
-
-        vlc_epg_event_t *p_src = vlc_epg_event_Duplicate( p_src_epg->pp_event[i_src] );
-        if( unlikely(!p_src) )
-            return;
-        const int64_t i_src_end = p_src->i_start + p_src->i_duration;
-
-        while( i_dst < p_dst_epg->i_event )
-        {
-            vlc_epg_event_t *p_dst = p_dst_epg->pp_event[i_dst];
-            const int64_t i_dst_end = p_dst->i_start + p_dst->i_duration;
-
-            /* appended is before current, no overlap */
-            if( p_dst->i_start >= i_src_end )
-            {
-                break;
-            }
-            /* overlap case: appended would contain current's start (or are identical) */
-            else if( ( p_dst->i_start >= p_src->i_start && p_dst->i_start < i_src_end ) ||
-            /* overlap case: appended would contain current's end */
-                    ( i_dst_end > p_src->i_start && i_dst_end <= i_src_end ) )
-            {
-                vlc_epg_event_Delete( p_dst );
-                if( p_dst_epg->p_current == p_dst )
-                {
-                    b_current |= true;
-                    p_dst_epg->p_current = NULL;
-                }
-                TAB_ERASE( p_dst_epg->i_event, p_dst_epg->pp_event, i_dst );
-            }
-            else
-            {
-                i_dst++;
-            }
-        }
-
-        TAB_INSERT( p_dst_epg->i_event, p_dst_epg->pp_event, p_src, i_dst );
-        if( b_current )
-            p_dst_epg->p_current = p_src;
-    }
-
-    /* Remaining/trailing ones */
-    for( ; i_src < p_src_epg->i_event; i_src++ )
-    {
-        vlc_epg_event_t *p_src = vlc_epg_event_Duplicate( p_src_epg->pp_event[i_src] );
-        if( unlikely(!p_src) )
-            return;
-        TAB_APPEND( p_dst_epg->i_event, p_dst_epg->pp_event, p_src );
-        if( p_src_epg->pp_event[i_src] == p_src_epg->p_current )
-            p_dst_epg->p_current = p_src;
-    }
-
-    vlc_epg_Prune( p_dst_epg );
-}
-
 vlc_epg_t * vlc_epg_Duplicate( const vlc_epg_t *p_src )
 {
     vlc_epg_t *p_epg = vlc_epg_New( p_src->i_id, p_src->i_source_id );
diff --git a/test/src/misc/epg.c b/test/src/misc/epg.c
index a242a9d79f..24bb8f395a 100644
--- a/test/src/misc/epg.c
+++ b/test/src/misc/epg.c
@@ -135,87 +135,5 @@ int main( void )
     assert_current( p_epg, "B" );
     vlc_epg_Delete( p_epg );
 
-
-    /* Test epg merging */
-    printf("--test %d\n", i++);
-    p_epg = vlc_epg_New( 0, 0 );
-    assert(p_epg);
-    EPG_ADD( p_epg, 142, 20, "F" );
-    EPG_ADD( p_epg, 122, 20, "E" );
-    EPG_ADD( p_epg,  42, 20, "A" );
-    EPG_ADD( p_epg,  62, 20, "B" );
-    print_order( p_epg );
-
-    vlc_epg_t *p_epg2 = vlc_epg_New( 0, 0 );
-    assert(p_epg2);
-    EPG_ADD( p_epg2, 102, 20, "D" );
-    EPG_ADD( p_epg2,  82, 20, "C" );
-    print_order( p_epg2 );
-
-    vlc_epg_Merge( p_epg, p_epg2 );
-    printf("merged " );
-    print_order( p_epg );
-
-    assert_events( p_epg, "ABCDEF", 6 );
-    assert_events( p_epg2, "CD", 2 ); /* should be untouched */
-    vlc_epg_Delete( p_epg );
-    vlc_epg_Delete( p_epg2 );
-
-
-    /* Test event overlapping */
-    printf("--test %d\n", i++);
-    p_epg = vlc_epg_New( 0, 0 );
-    assert(p_epg);
-    EPG_ADD( p_epg,  42, 20, "A" );
-    EPG_ADD( p_epg,  62, 20, "B" );
-    EPG_ADD( p_epg,  82, 20, "C" );
-    EPG_ADD( p_epg, 102, 20, "D" );
-    print_order( p_epg );
-    vlc_epg_SetCurrent( p_epg, 62 );
-
-    p_epg2 = vlc_epg_New( 0, 0 );
-    assert(p_epg2);
-    EPG_ADD( p_epg2,  41, 30, "E" );
-    print_order( p_epg2 );
-
-    vlc_epg_Merge( p_epg, p_epg2 );
-    printf("merged " );
-    print_order( p_epg );
-    assert_events( p_epg, "ECD", 3 );
-
-    assert_current( p_epg, "E" );
-
-    EPG_ADD( p_epg2,  70, 42, "F" );
-    print_order( p_epg2 );
-    vlc_epg_Merge( p_epg, p_epg2 );
-    printf("merged " );
-    print_order( p_epg );
-    assert_events( p_epg, "F", 1 );
-
-    /* Test current overwriting */
-    printf("--test %d\n", i++);
-    vlc_epg_SetCurrent( p_epg, 70 );
-    assert_current( p_epg, "F" );
-    print_order( p_epg );
-    print_order( p_epg2 );
-    vlc_epg_Merge( p_epg, p_epg2 );
-    printf("merged " );
-    print_order( p_epg );
-    assert_events( p_epg, "F", 1 );
-    assert_current( p_epg, "F" );
-
-    printf("--test %d\n", i++);
-    print_order( p_epg );
-    EPG_ADD( p_epg2,  270, 42, "Z" );
-    vlc_epg_SetCurrent( p_epg2, 270 );
-    print_order( p_epg2 );
-    vlc_epg_Merge( p_epg, p_epg2 );
-    printf("merged " );
-    print_order( p_epg );
-    assert_current( p_epg, "Z" );
-
-    vlc_epg_Delete( p_epg );
-    vlc_epg_Delete( p_epg2 );
-
     return 0;
 }



More information about the vlc-commits mailing list