]> git.pld-linux.org Git - packages/vlc.git/commitdiff
- temporarily saving my work
authorJakub Bogusz <qboosh@pld-linux.org>
Thu, 8 Aug 2013 16:27:18 +0000 (18:27 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Thu, 8 Aug 2013 16:27:18 +0000 (18:27 +0200)
- ffmpeg patch fixes build with ffmpeg 2
- live555 patch fixes build with current live[555]
- libdvbpsi patch contains some updates for libdvbpsi 1.1.0 (not finished yet)

vlc-ffmpeg.patch [new file with mode: 0644]
vlc-libdvbpsi.patch [new file with mode: 0644]
vlc-live555.patch [new file with mode: 0644]
vlc.spec

diff --git a/vlc-ffmpeg.patch b/vlc-ffmpeg.patch
new file mode 100644 (file)
index 0000000..5764be4
--- /dev/null
@@ -0,0 +1,156 @@
+--- vlc-2.0.7/configure.ac.orig        2013-07-26 16:57:17.569390159 +0200
++++ vlc-2.0.7/configure.ac     2013-07-26 20:30:33.175519230 +0200
+@@ -2416,9 +2416,6 @@
+ [  --enable-avcodec        libavcodec codec (default enabled)])
+ AS_IF([test "${enable_avcodec}" != "no"], [
+   PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil], [
+-    PKG_CHECK_EXISTS([libavcodec < 55],, [
+-      AC_MSG_ERROR([libavcodec versions 55 and later are not supported yet.])
+-    ])
+     VLC_SAVE_FLAGS
+     CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
+     CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
+--- vlc-2.0.7/modules/codec/avcodec/avcodec.c.orig     2013-03-19 13:03:30.000000000 +0100
++++ vlc-2.0.7/modules/codec/avcodec/avcodec.c  2013-07-26 21:19:58.625395411 +0200
+@@ -275,43 +275,44 @@
+     /* Set CPU capabilities */
+     unsigned i_cpu = vlc_CPU();
+-    p_context->dsp_mask = 0;
++    int cpu_flags = av_get_cpu_flags();
+     if( !(i_cpu & CPU_CAPABILITY_MMX) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_MMX;
++        cpu_flags &= ~AV_CPU_FLAG_MMX;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_MMXEXT) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_MMX2;
++        cpu_flags &= ~AV_CPU_FLAG_MMX2;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_3DNOW) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_3DNOW;
++        cpu_flags &= ~AV_CPU_FLAG_3DNOW;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_SSE) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE;
++        cpu_flags &= ~AV_CPU_FLAG_SSE;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_SSE2) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE2;
++        cpu_flags &= ~AV_CPU_FLAG_SSE2;
+     }
+ #ifdef AV_CPU_FLAG_SSE3
+     if( !(i_cpu & CPU_CAPABILITY_SSE3) )
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE3;
++        cpu_flags &= ~AV_CPU_FLAG_SSE3;
+ #endif
+ #ifdef AV_CPU_FLAG_SSSE3
+     if( !(i_cpu & CPU_CAPABILITY_SSSE3) )
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSSE3;
++        cpu_flags &= ~AV_CPU_FLAG_SSSE3;
+ #endif
+ #ifdef AV_CPU_FLAG_SSE4
+     if( !(i_cpu & CPU_CAPABILITY_SSE4_1) )
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE4;
++        cpu_flags &= ~AV_CPU_FLAG_SSE4;
+ #endif
+ #ifdef AV_CPU_FLAG_SSE42
+     if( !(i_cpu & CPU_CAPABILITY_SSE4_2) )
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE42;
++        cpu_flags &= ~AV_CPU_FLAG_SSE42;
+ #endif
++    av_force_cpu_flags(cpu_flags);
+     p_dec->b_need_packetized = true;
+     switch( i_cat )
+--- vlc-2.0.7/modules/codec/avcodec/audio.c.orig       2013-04-25 18:41:41.000000000 +0200
++++ vlc-2.0.7/modules/codec/avcodec/audio.c    2013-07-26 21:20:54.795393296 +0200
+@@ -228,8 +228,8 @@
+         p_sys->i_output_max = 0;
+         break;
+     }
+-    if( p_sys->i_output_max < 2 * AVCODEC_MAX_AUDIO_FRAME_SIZE )
+-        p_sys->i_output_max = 2 * AVCODEC_MAX_AUDIO_FRAME_SIZE;
++    if( p_sys->i_output_max < 2 * 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */ )
++        p_sys->i_output_max = 2 * 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */;
+     msg_Dbg( p_dec, "Using %d bytes output buffer", p_sys->i_output_max );
+     p_sys->p_output = av_malloc( p_sys->i_output_max );
+--- vlc-2.0.7/modules/codec/avcodec/encoder.c.orig     2013-05-24 11:31:46.000000000 +0200
++++ vlc-2.0.7/modules/codec/avcodec/encoder.c  2013-07-26 22:02:27.608621757 +0200
+@@ -359,23 +359,23 @@
+     /* Set CPU capabilities */
+     unsigned i_cpu = vlc_CPU();
+-    p_context->dsp_mask = 0;
++    int cpu_flags = av_get_cpu_flags();
+     if( !(i_cpu & CPU_CAPABILITY_MMX) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_MMX;
++        cpu_flags &= ~AV_CPU_FLAG_MMX;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_MMXEXT) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_MMX2;
++        cpu_flags &= ~AV_CPU_FLAG_MMX2;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_3DNOW) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_3DNOW;
++        cpu_flags &= ~AV_CPU_FLAG_3DNOW;
+     }
+     if( !(i_cpu & CPU_CAPABILITY_SSE) )
+     {
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE;
+-        p_context->dsp_mask |= AV_CPU_FLAG_SSE2;
++        cpu_flags &= ~AV_CPU_FLAG_SSE;
++        cpu_flags &= ~AV_CPU_FLAG_SSE2;
+     }
+     p_sys->i_key_int = var_GetInteger( p_enc, ENC_CFG_PREFIX "keyint" );
+@@ -497,8 +497,6 @@
+         p_context->dark_masking = p_sys->f_dark_masking;
+         p_context->p_masking = p_sys->f_p_masking;
+         p_context->border_masking = p_sys->f_border_masking;
+-        p_context->luma_elim_threshold = p_sys->i_luma_elim;
+-        p_context->chroma_elim_threshold = p_sys->i_chroma_elim;
+         if( p_sys->i_key_int > 0 )
+             p_context->gop_size = p_sys->i_key_int;
+@@ -512,7 +510,7 @@
+             p_context->flags |= CODEC_FLAG_LOW_DELAY;
+         if( p_enc->fmt_out.i_codec == VLC_CODEC_MP2V )
+-            p_context->idct_algo = FF_IDCT_LIBMPEG2MMX;
++            p_context->idct_algo = FF_IDCT_AUTO;
+         av_reduce( &p_context->sample_aspect_ratio.num,
+                    &p_context->sample_aspect_ratio.den,
+@@ -804,7 +802,13 @@
+ #if LIBAVCODEC_VERSION_MAJOR < 54
+             ret = avcodec_open( p_context, p_codec );
+ #else
+-            ret = avcodec_open2( p_context, p_codec, NULL /* options */ );
++          AVDictionary *opts = NULL;
++          char buf[50];
++          sprintf(buf, "%d", p_sys->i_luma_elim);
++          av_dict_set(&opts, "lelim", buf, 0);
++          sprintf(buf, "%d", p_sys->i_chroma_elim);
++          av_dict_set(&opts, "celim", buf, 0);
++            ret = avcodec_open2( p_context, p_codec, &opts );
+ #endif
+             vlc_avcodec_unlock();
+             if( ret )
+@@ -885,7 +889,7 @@
+         p_enc->fmt_out.audio.i_bitspersample = aout_BitsPerSample( vlc_fourcc_GetCodec( AUDIO_ES, p_enc->fmt_out.i_codec ) );
+         if( p_context->frame_size > 1 )
+-            p_sys->i_buffer_out = 8 * AVCODEC_MAX_AUDIO_FRAME_SIZE;
++            p_sys->i_buffer_out = 8 * 192000 /* AVCODEC_MAX_AUDIO_FRAME_SIZE */;
+         else
+             p_sys->i_buffer_out = p_sys->i_frame_size * p_sys->i_sample_bytes;
+         p_sys->p_buffer_out = malloc( p_sys->i_buffer_out );
diff --git a/vlc-libdvbpsi.patch b/vlc-libdvbpsi.patch
new file mode 100644 (file)
index 0000000..1d384fe
--- /dev/null
@@ -0,0 +1,503 @@
+Index: modules/access/dtv/en50221.c
+===================================================================
+--- modules/access/dtv/en50221.c.orig
++++ modules/access/dtv/en50221.c
+@@ -2231,13 +2231,13 @@ int en50221_SetCAPMT( cam_t * p_cam, dvb
+             if ( !b_needs_descrambling )
+             {
+-                dvbpsi_DeletePMT( p_pmt );
++                dvbpsi_pmt_delete( p_pmt );
+                 p_pmt = p_cam->pp_selected_programs[i];
+                 p_cam->pp_selected_programs[i] = NULL;
+             }
+             else if( p_pmt != p_cam->pp_selected_programs[i] )
+             {
+-                dvbpsi_DeletePMT( p_cam->pp_selected_programs[i] );
++                dvbpsi_pmt_delete( p_cam->pp_selected_programs[i] );
+                 p_cam->pp_selected_programs[i] = p_pmt;
+             }
+@@ -2276,7 +2276,7 @@ int en50221_SetCAPMT( cam_t * p_cam, dvb
+     if ( !b_needs_descrambling )
+     {
+-        dvbpsi_DeletePMT( p_pmt );
++        dvbpsi_pmt_delete( p_pmt );
+     }
+     return VLC_SUCCESS;
+@@ -2651,7 +2651,7 @@ void en50221_End( cam_t * p_cam )
+     {
+         if( p_cam->pp_selected_programs[i] != NULL )
+         {
+-            dvbpsi_DeletePMT( p_cam->pp_selected_programs[i] );
++            dvbpsi_pmt_delete( p_cam->pp_selected_programs[i] );
+         }
+     }
+Index: modules/demux/ts.c
+===================================================================
+--- modules/demux/ts.c.orig    2013-02-08 13:31:21.000000000 +0100
++++ modules/demux/ts.c 2013-07-27 08:34:12.650364561 +0200
+@@ -272,7 +272,7 @@
+ typedef struct
+ {
+-    dvbpsi_handle   handle;
++    dvbpsi_t   *handle;
+     int             i_version;
+     int             i_number;
+@@ -286,7 +286,7 @@
+ typedef struct
+ {
+     /* for special PAT/SDT case */
+-    dvbpsi_handle   handle; /* PAT/SDT/EIT */
++    dvbpsi_t   *handle; /* PAT/SDT/EIT */
+     int             i_pat_version;
+     int             i_sdt_version;
+@@ -407,7 +407,7 @@
+ static void PATCallBack( demux_t *, dvbpsi_pat_t * );
+ static void PMTCallBack( demux_t *p_demux, dvbpsi_pmt_t *p_pmt );
+-static void PSINewTableCallBack( demux_t *, dvbpsi_handle,
++static void PSINewTableCallBack( demux_t *, dvbpsi_t *,
+                                  uint8_t  i_table_id, uint16_t i_extension );
+ static int ChangeKeyCallback( vlc_object_t *, char const *, vlc_value_t, vlc_value_t, void * );
+@@ -667,7 +667,8 @@
+     /* Init PAT handler */
+     pat = &p_sys->pid[0];
+     PIDInit( pat, true, NULL );
+-    pat->psi->handle = dvbpsi_AttachPAT( (dvbpsi_pat_callback)PATCallBack,
++    pat->psi->handle = dvbpsi_new(NULL, 0);
++    dvbpsi_pat_attach( pat->psi->handle, (dvbpsi_pat_callback)PATCallBack,
+                                          p_demux );
+     if( p_sys->b_dvb_meta )
+     {
+@@ -675,18 +676,18 @@
+         ts_pid_t *eit = &p_sys->pid[0x12];
+         PIDInit( sdt, true, NULL );
+-        sdt->psi->handle =
+-            dvbpsi_AttachDemux( (dvbpsi_demux_new_cb_t)PSINewTableCallBack,
++        sdt->psi->handle = dvbpsi_new(NULL, 0);
++            dvbpsi_AttachDemux( sdt->psi->handle, (dvbpsi_demux_new_cb_t)PSINewTableCallBack,
+                                 p_demux );
+         PIDInit( eit, true, NULL );
+-        eit->psi->handle =
+-            dvbpsi_AttachDemux( (dvbpsi_demux_new_cb_t)PSINewTableCallBack,
++        eit->psi->handle = dvbpsi_new(NULL, 0);
++            dvbpsi_AttachDemux( eit->psi->handle, (dvbpsi_demux_new_cb_t)PSINewTableCallBack,
+                                 p_demux );
+ #ifdef TS_USE_TDT
+         ts_pid_t *tdt = &p_sys->pid[0x14];
+         PIDInit( tdt, true, NULL );
+-        tdt->psi->handle =
+-            dvbpsi_AttachDemux( (dvbpsi_demux_new_cb_t)PSINewTableCallBack,
++        tdt->psi->handle = dvbpsi_new(NULL, 0);
++            dvbpsi_AttachDemux( tdt->psi->handle, (dvbpsi_demux_new_cb_t)PSINewTableCallBack,
+                                 p_demux );
+ #endif
+         if( p_sys->b_access_control )
+@@ -850,7 +851,7 @@
+             switch( pid->i_pid )
+             {
+             case 0: /* PAT */
+-                dvbpsi_DetachPAT( pid->psi->handle );
++                dvbpsi_pat_detach( pid->psi->handle );
+                 free( pid->psi );
+                 break;
+             case 1: /* CAT */
+@@ -1089,13 +1090,13 @@
+             {
+                 if( p_pid->i_pid == 0 || ( p_sys->b_dvb_meta && ( p_pid->i_pid == 0x11 || p_pid->i_pid == 0x12 || p_pid->i_pid == 0x14 ) ) )
+                 {
+-                    dvbpsi_PushPacket( p_pid->psi->handle, p_pkt->p_buffer );
++                    dvbpsi_packet_push( p_pid->psi->handle, p_pkt->p_buffer );
+                 }
+                 else
+                 {
+                     for( int i_prg = 0; i_prg < p_pid->psi->i_prg; i_prg++ )
+                     {
+-                        dvbpsi_PushPacket( p_pid->psi->prg[i_prg]->handle,
++                        dvbpsi_packet_push( p_pid->psi->prg[i_prg]->handle,
+                                            p_pkt->p_buffer );
+                     }
+                 }
+@@ -1372,7 +1373,8 @@
+     prg->i_pid_pmt  = -1;
+     prg->i_version  = -1;
+     prg->i_number   = i_number != 0 ? i_number : TS_USER_PMT_NUMBER;
+-    prg->handle     = dvbpsi_AttachPMT( i_number != TS_USER_PMT_NUMBER ? i_number : 1, (dvbpsi_pmt_callback)PMTCallBack, p_demux );
++    prg->handle     = dvbpsi_new(NULL, 0);
++    dvbpsi_pmt_attach( prg->handle, i_number != TS_USER_PMT_NUMBER ? i_number : 1, (dvbpsi_pmt_callback)PMTCallBack, p_demux );
+     TAB_APPEND( pmt->psi->i_prg, pmt->psi->prg, prg );
+     psz = strchr( psz, '=' );
+@@ -1588,13 +1590,13 @@
+     if( pid->psi )
+     {
+         if( pid->psi->handle )
+-            dvbpsi_DetachPMT( pid->psi->handle );
++            dvbpsi_pmt_detach( pid->psi->handle );
+         for( int i = 0; i < pid->psi->i_prg; i++ )
+         {
+             if( pid->psi->prg[i]->iod )
+                 IODFree( pid->psi->prg[i]->iod );
+             if( pid->psi->prg[i]->handle )
+-                dvbpsi_DetachPMT( pid->psi->prg[i]->handle );
++                dvbpsi_pmt_detach( pid->psi->prg[i]->handle );
+             free( pid->psi->prg[i] );
+         }
+         free( pid->psi->prg );
+@@ -2937,14 +2939,14 @@
+         ( !p_sdt->b_current_next ||
+           p_sdt->i_version == sdt->psi->i_sdt_version ) )
+     {
+-        dvbpsi_DeleteSDT( p_sdt );
++        dvbpsi_sdt_delete( p_sdt );
+         return;
+     }
+-    msg_Dbg( p_demux, "new SDT ts_id=%d version=%d current_next=%d "
++/*  msg_Dbg( p_demux, "new SDT ts_id=%d version=%d current_next=%d "
+              "network_id=%d",
+              p_sdt->i_ts_id, p_sdt->i_version, p_sdt->b_current_next,
+-             p_sdt->i_network_id );
++             p_sdt->i_network_id ); */
+     p_sys->b_broken_charset = false;
+@@ -3055,7 +3057,7 @@
+     }
+     sdt->psi->i_sdt_version = p_sdt->i_version;
+-    dvbpsi_DeleteSDT( p_sdt );
++    dvbpsi_sdt_delete( p_sdt );
+ }
+ /* i_year: year - 1900  i_month: 0-11  i_mday: 1-31 i_hour: 0-23 i_minute: 0-59 i_second: 0-59 */
+@@ -3125,7 +3127,7 @@
+     p_sys->i_tdt_delta = CLOCK_FREQ * EITConvertStartTime( p_tdt->i_utc_time )
+                          - mdate();
+-    dvbpsi_DeleteTOT(p_tdt);
++    dvbpsi_tot_delete(p_tdt);
+ }
+ #endif
+@@ -3140,16 +3142,16 @@
+     msg_Dbg( p_demux, "EITCallBack called" );
+     if( !p_eit->b_current_next )
+     {
+-        dvbpsi_DeleteEIT( p_eit );
++        dvbpsi_eit_delete( p_eit );
+         return;
+     }
+-    msg_Dbg( p_demux, "new EIT service_id=%d version=%d current_next=%d "
++/*  msg_Dbg( p_demux, "new EIT service_id=%d version=%d current_next=%d "
+              "ts_id=%d network_id=%d segment_last_section_number=%d "
+              "last_table_id=%d",
+              p_eit->i_service_id, p_eit->i_version, p_eit->b_current_next,
+              p_eit->i_ts_id, p_eit->i_network_id,
+-             p_eit->i_segment_last_section_number, p_eit->i_last_table_id );
++             p_eit->i_segment_last_section_number, p_eit->i_last_table_id ); */
+     p_epg = vlc_epg_New( NULL );
+     for( p_evt = p_eit->p_first_event; p_evt; p_evt = p_evt->p_next )
+@@ -3277,7 +3279,7 @@
+     }
+     vlc_epg_Delete( p_epg );
+-    dvbpsi_DeleteEIT( p_eit );
++    dvbpsi_eit_delete( p_eit );
+ }
+ static void EITCallBackCurrentFollowing( demux_t *p_demux, dvbpsi_eit_t *p_eit )
+ {
+@@ -3288,7 +3290,7 @@
+     EITCallBack( p_demux, p_eit, false );
+ }
+-static void PSINewTableCallBack( demux_t *p_demux, dvbpsi_handle h,
++static void PSINewTableCallBack( demux_t *p_demux, dvbpsi_t *h,
+                                  uint8_t  i_table_id, uint16_t i_extension )
+ {
+ #if 0
+@@ -3300,7 +3302,7 @@
+         msg_Dbg( p_demux, "PSINewTableCallBack: table 0x%x(%d) ext=0x%x(%d)",
+                  i_table_id, i_table_id, i_extension, i_extension );
+-        dvbpsi_AttachSDT( h, i_table_id, i_extension,
++        dvbpsi_sdt_attach( h, i_table_id, i_extension,
+                           (dvbpsi_sdt_callback)SDTCallBack, p_demux );
+     }
+     else if( p_demux->p_sys->pid[0x11].psi->i_sdt_version != -1 &&
+@@ -3313,7 +3315,7 @@
+         dvbpsi_eit_callback cb = i_table_id == 0x4e ?
+                                     (dvbpsi_eit_callback)EITCallBackCurrentFollowing :
+                                     (dvbpsi_eit_callback)EITCallBackSchedule;
+-        dvbpsi_AttachEIT( h, i_table_id, i_extension, cb, p_demux );
++        dvbpsi_eit_attach( h, i_table_id, i_extension, cb, p_demux );
+     }
+ #ifdef TS_USE_TDT
+     else if( p_demux->p_sys->pid[0x11].psi->i_sdt_version != -1 &&
+@@ -3321,7 +3323,7 @@
+     {
+          msg_Dbg( p_demux, "PSINewTableCallBack: table 0x%x(%d) ext=0x%x(%d)",
+                  i_table_id, i_table_id, i_extension, i_extension );
+-         dvbpsi_AttachTOT( h, i_table_id, i_extension,
++         dvbpsi_tot_attach( h, i_table_id, i_extension,
+                            (dvbpsi_tot_callback)TDTCallBack, p_demux);
+     }
+ #endif
+@@ -4118,14 +4120,14 @@
+     if( pmt == NULL )
+     {
+         msg_Warn( p_demux, "unreferenced program (broken stream)" );
+-        dvbpsi_DeletePMT(p_pmt);
++        dvbpsi_pmt_delete(p_pmt);
+         return;
+     }
+     if( prg->i_version != -1 &&
+         ( !p_pmt->b_current_next || prg->i_version == p_pmt->i_version ) )
+     {
+-        dvbpsi_DeletePMT( p_pmt );
++        dvbpsi_pmt_delete( p_pmt );
+         return;
+     }
+@@ -4354,7 +4356,7 @@
+     if( !ProgramIsSelected( p_demux, prg->i_number )
+      || stream_Control( p_demux->s, STREAM_CONTROL_ACCESS,
+                         ACCESS_SET_PRIVATE_ID_CA, p_pmt ) != VLC_SUCCESS )
+-        dvbpsi_DeletePMT( p_pmt );
++        dvbpsi_pmt_delete( p_pmt );
+     for( int i = 0; i < i_clean; i++ )
+     {
+@@ -4382,7 +4384,7 @@
+               p_pat->i_version == pat->psi->i_pat_version ) ) ||
+         p_sys->b_user_pmt )
+     {
+-        dvbpsi_DeletePAT( p_pat );
++        dvbpsi_pat_delete( p_pat );
+         return;
+     }
+@@ -4504,7 +4506,7 @@
+             {
+                 PIDInit( pmt, true, pat->psi );
+                 pmt->psi->prg[pmt->psi->i_prg-1]->handle =
+-                    dvbpsi_AttachPMT( p_program->i_number,
++                    dvbpsi_pmt_attach( p_program->i_number,
+                                       (dvbpsi_pmt_callback)PMTCallBack,
+                                       p_demux );
+                 pmt->psi->prg[pmt->psi->i_prg-1]->i_number =
+@@ -4526,5 +4528,5 @@
+     }
+     pat->psi->i_pat_version = p_pat->i_version;
+-    dvbpsi_DeletePAT( p_pat );
++    dvbpsi_pat_delete( p_pat );
+ }
+Index: modules/mux/mpeg/ts.c
+===================================================================
+--- modules/mux/mpeg/ts.c.orig
++++ modules/mux/mpeg/ts.c
+@@ -2333,15 +2333,15 @@ static void GetPAT( sout_mux_t *p_mux,
+     dvbpsi_psi_section_t *p_section;
+     int i;
+-    dvbpsi_InitPAT( &pat, p_sys->i_tsid, p_sys->i_pat_version_number,
++    dvbpsi_pat_init( &pat, p_sys->i_tsid, p_sys->i_pat_version_number,
+                     1 );      /* b_current_next */
+     /* add all programs */
+     for ( i = 0; i < p_sys->i_num_pmt; i++ )
+-        dvbpsi_PATAddProgram( &pat,
++        dvbpsi_pat_program_add( &pat,
+                               p_sys->i_pmt_program_number[i],
+                               p_sys->pmt[i].i_pid );
+-    p_section = dvbpsi_GenPATSections( &pat,
++    p_section = dvbpsi_pat_sections_generate( &pat,
+                                        0 );     /* max program per section */
+     p_pat = WritePSISection( p_mux->p_sout, p_section );
+@@ -2349,7 +2349,7 @@ static void GetPAT( sout_mux_t *p_mux,
+     PEStoTS( p_mux->p_sout, c, p_pat, &p_sys->pat );
+     dvbpsi_DeletePSISections( p_section );
+-    dvbpsi_EmptyPAT( &pat );
++    dvbpsi_pat_empty( &pat );
+ }
+ static uint32_t GetDescriptorLength24b( int i_length )
+@@ -2394,11 +2394,11 @@ static void GetPMT( sout_mux_t *p_mux, s
+     }
+     if( p_sys->b_sdt )
+-        dvbpsi_InitSDT( &sdt, p_sys->i_tsid, 1, 1, p_sys->i_netid );
++        dvbpsi_sdt_init( &sdt, p_sys->i_tsid, 1, 1, p_sys->i_netid );
+     for( i = 0; i < p_sys->i_num_pmt; i++ )
+     {
+-        dvbpsi_InitPMT( &p_sys->dvbpmt[i],
++        dvbpsi_pmt_init( &p_sys->dvbpmt[i],
+                         p_sys->i_pmt_program_number[i],   /* program number */
+                         p_sys->i_pmt_version_number,
+                         1,      /* b_current_next */
+@@ -2406,7 +2406,7 @@ static void GetPMT( sout_mux_t *p_mux, s
+         if( p_sys->b_sdt )
+         {
+-            p_service = dvbpsi_SDTAddService( &sdt,
++            p_service = dvbpsi_sdt_service_add( &sdt,
+                 p_sys->i_pmt_program_number[i],  /* service id */
+                 0,         /* eit schedule */
+                 0,         /* eit present */
+@@ -2435,7 +2435,7 @@ static void GetPMT( sout_mux_t *p_mux, s
+                     memcpy( &psz_sdt_desc[3+strlen(psz_sdtprov)], psz_sdtserv,
+                             strlen(psz_sdtserv) );
+-                    dvbpsi_SDTServiceAddDescriptor( p_service, 0x48,
++                    dvbpsi_sdt_service_descriptor_add( p_service, 0x48,
+                             3 + strlen(psz_sdtprov) + strlen(psz_sdtserv),
+                             (uint8_t *)psz_sdt_desc );
+                     free( psz_sdt_desc );
+@@ -2590,13 +2590,13 @@ static void GetPMT( sout_mux_t *p_mux, s
+         p_usepid = bsearch( &p_usepid, p_sys->pmtmap, p_sys->i_num_pmt,
+                             sizeof(pmt_map_t), pmtcompare );
+         if( p_usepid != NULL )
+-            dvbpsi_PMTAddDescriptor(
++            dvbpsi_pmt_descriptor_add(
+                     &p_sys->dvbpmt[((pmt_map_t *)p_usepid)->i_prog], 0x1d,
+                     bits.i_data, bits.p_data );
+         else
+             msg_Err( p_mux, "Received an unmapped PID" );
+ #else
+-        dvbpsi_PMTAddDescriptor( &p_sys->dvbpmt[0], 0x1d, bits.i_data,
++        dvbpsi_pmt_descriptor_add( &p_sys->dvbpmt[0], 0x1d, bits.i_data,
+                                  bits.p_data );
+ #endif
+     }
+@@ -2612,12 +2612,12 @@ static void GetPMT( sout_mux_t *p_mux, s
+                             sizeof(pmt_map_t), intcompare );
+         if( p_usepid != NULL )
+-            p_es = dvbpsi_PMTAddES(
++            p_es = dvbpsi_pmt_es_add(
+                     &p_sys->dvbpmt[((pmt_map_t *)p_usepid)->i_prog],
+                     p_stream->i_stream_type, p_stream->i_pid );
+         else
+             /* If there's an error somewhere, dump it to the first pmt */
+-            p_es = dvbpsi_PMTAddES( &p_sys->dvbpmt[0], p_stream->i_stream_type,
++            p_es = dvbpsi_pmt_es_add( &p_sys->dvbpmt[0], p_stream->i_stream_type,
+                                     p_stream->i_pid );
+         if( p_stream->i_stream_id == 0xfa || p_stream->i_stream_id == 0xfb )
+@@ -2627,7 +2627,7 @@ static void GetPMT( sout_mux_t *p_mux, s
+             /* SL descriptor */
+             es_id[0] = (p_stream->i_es_id >> 8)&0xff;
+             es_id[1] = (p_stream->i_es_id)&0xff;
+-            dvbpsi_PMTESAddDescriptor( p_es, 0x1f, 2, es_id );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0x1f, 2, es_id );
+         }
+         else if( p_stream->i_stream_type == 0xa0 )
+         {
+@@ -2648,21 +2648,21 @@ static void GetPMT( sout_mux_t *p_mux, s
+             }
+             /* 0xa0 is private */
+-            dvbpsi_PMTESAddDescriptor( p_es, 0xa0, i_extra + 10, data );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0xa0, i_extra + 10, data );
+         }
+         else if( p_stream->i_stream_type == 0x81 )
+         {
+             uint8_t format[4] = { 0x41, 0x43, 0x2d, 0x33 };
+             /* "registration" descriptor : "AC-3" */
+-            dvbpsi_PMTESAddDescriptor( p_es, 0x05, 4, format );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0x05, 4, format );
+         }
+         else if( p_stream->i_codec == VLC_CODEC_DIRAC )
+         {
+             /* Dirac registration descriptor */
+             uint8_t data[4] = { 'd', 'r', 'a', 'c' };
+-            dvbpsi_PMTESAddDescriptor( p_es, 0x05, 4, data );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0x05, 4, data );
+         }
+         else if( p_stream->i_codec == VLC_CODEC_DTS )
+         {
+@@ -2670,18 +2670,18 @@ static void GetPMT( sout_mux_t *p_mux, s
+             /* DTS format identifier, frame size 1024 - FIXME */
+             uint8_t data[4] = { 0x44, 0x54, 0x53, 0x32 };
+-            dvbpsi_PMTESAddDescriptor( p_es, 0x05, 4, data );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0x05, 4, data );
+         }
+         else if( p_stream->i_codec == VLC_CODEC_EAC3 )
+         {
+             uint8_t data[1] = { 0x00 };
+-            dvbpsi_PMTESAddDescriptor( p_es, 0x7a, 1, data );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0x7a, 1, data );
+         }
+         else if( p_stream->i_codec == VLC_CODEC_TELETEXT )
+         {
+             if( p_stream->i_decoder_specific_info )
+             {
+-                dvbpsi_PMTESAddDescriptor( p_es, 0x56,
++                dvbpsi_pmt_es_descriptor_add( p_es, 0x56,
+                                            p_stream->i_decoder_specific_info,
+                                            p_stream->p_decoder_specific_info );
+             }
+@@ -2693,7 +2693,7 @@ static void GetPMT( sout_mux_t *p_mux, s
+             if( p_stream->i_decoder_specific_info )
+             {
+                 /* pass-through from the TS demux */
+-                dvbpsi_PMTESAddDescriptor( p_es, 0x59,
++                dvbpsi_pmt_es_descriptor_add( p_es, 0x59,
+                                            p_stream->i_decoder_specific_info,
+                                            p_stream->p_decoder_specific_info );
+             }
+@@ -2714,7 +2714,7 @@ static void GetPMT( sout_mux_t *p_mux, s
+                 p_descr = dvbpsi_GenSubtitlingDr( &descr, 0 );
+                 /* Work around bug in old libdvbpsi */ p_descr->i_length = 8;
+-                dvbpsi_PMTESAddDescriptor( p_es, p_descr->i_tag,
++                dvbpsi_pmt_es_descriptor_add( p_es, p_descr->i_tag,
+                                            p_descr->i_length, p_descr->p_data );
+             }
+             continue;
+@@ -2733,22 +2733,22 @@ static void GetPMT( sout_mux_t *p_mux, s
+                 data[i*4+2] = p_stream->lang[i*3+2];
+                 data[i*4+3] = 0x00; /* audio type: 0x00 undefined */
+             }
+-            dvbpsi_PMTESAddDescriptor( p_es, 0x0a, 4*p_stream->i_langs, data );
++            dvbpsi_pmt_es_descriptor_add( p_es, 0x0a, 4*p_stream->i_langs, data );
+         }
+     }
+     for( i = 0; i < p_sys->i_num_pmt; i++ )
+     {
+-        p_section[i] = dvbpsi_GenPMTSections( &p_sys->dvbpmt[i] );
++        p_section[i] = dvbpsi_pmt_sections_generate( &p_sys->dvbpmt[i] );
+         p_pmt[i] = WritePSISection( p_mux->p_sout, p_section[i] );
+         PEStoTS( p_mux->p_sout, c, p_pmt[i], &p_sys->pmt[i] );
+         dvbpsi_DeletePSISections( p_section[i] );
+-        dvbpsi_EmptyPMT( &p_sys->dvbpmt[i] );
++        dvbpsi_pmt_empty( &p_sys->dvbpmt[i] );
+     }
+     if( p_sys->b_sdt )
+     {
+-        p_section2 = dvbpsi_GenSDTSections( &sdt );
++        p_section2 = dvbpsi_sdt_sections_generate( &sdt );
+         p_sdt = WritePSISection( p_mux->p_sout, p_section2 );
+         PEStoTS( p_mux->p_sout, c, p_sdt, &p_sys->sdt );
+         dvbpsi_DeletePSISections( p_section2 );
diff --git a/vlc-live555.patch b/vlc-live555.patch
new file mode 100644 (file)
index 0000000..8a0ef3f
--- /dev/null
@@ -0,0 +1,11 @@
+--- vlc-2.0.7/modules/demux/live555.cpp.orig   2013-02-08 13:31:21.000000000 +0100
++++ vlc-2.0.7/modules/demux/live555.cpp        2013-07-27 07:11:57.437238145 +0200
+@@ -232,7 +232,7 @@
+                    char const* applicationName, portNumBits tunnelOverHTTPPortNum,
+                    demux_sys_t *p_sys) :
+                    RTSPClient( env, rtspURL, verbosityLevel, applicationName,
+-                   tunnelOverHTTPPortNum )
++                   tunnelOverHTTPPortNum, -1 )
+     {
+         this->p_sys = p_sys;
+     }
index d6567aae0fcc4b6d322b13c48eea2a2701d44a50..77dad56f68740071c9c2653cc0affb521e65cf42 100644 (file)
--- a/vlc.spec
+++ b/vlc.spec
@@ -8,13 +8,12 @@
 # - qvlc should be in qt4 or such package not generic X11
 # - /usr/share/vlc/utils scripts insecure (use /tmp hardcoded paths)
 # - [recheck old TODO]: flac plugin doesn't work with mono files
-# - --enable-wma-fixed (fixed-point WMA?)
-# - --enable-shine (fixed-point MP3 encoding)
-# - --enable-omxil (openmax il codec)
+# - --enable-wma-fixed (fixed-point WMA - does it make sense on non-embedded?)
+## - --enable-shine (fixed-point MP3 encoding)
+## - --enable-omxil (openmax il codec)
 # - --enable-iomx (iomx codec)
-# - --enable-asademux (BR: pcre-devel >= 6.5)
-# - --enable-egl (R: OpenGL-devel, EGL-devel)
-# - --enable-media-library (Qt-based?)
+## - --enable-egl (R: OpenGL-devel, EGL-devel)
+## - --enable-media-library (Qt-based?)
 # - decklink plugin (BR: Blackmagick DeckLink SDI, DeckLinkAPIDispatch.cpp) [proprietary?]
 # - Hildon (hildon-1.pc hildon-fm-2.pc)
 # - OSSO_SCREENSAVER (libosso.pc - Maemo platform)
@@ -74,6 +73,9 @@ Patch4:               %{name}-opencv.patch
 Patch5:                libva.patch
 Patch6:                %{name}-flac.patch
 Patch7:                no-cache.patch
+Patch8:                %{name}-ffmpeg.patch
+Patch9:                %{name}-libdvbpsi.patch
+Patch10:       %{name}-live555.patch
 URL:           http://www.videolan.org/vlc/
 %{?with_directfb:BuildRequires:        DirectFB-devel}
 BuildRequires: OpenGL-devel
@@ -113,7 +115,7 @@ BuildRequires:      libcdio-devel >= 0.78.2
 %{?with_crystalhd:BuildRequires:       libcrystalhd-devel}
 BuildRequires: libdc1394-devel >= 2.1.0
 BuildRequires: libdts-devel >= 0.0.5
-BuildRequires: libdvbpsi-devel >= 0.1.6
+BuildRequires: libdvbpsi-devel >= 1.1.0
 BuildRequires: libdvdnav-devel
 BuildRequires: libdvdread-devel
 BuildRequires: libebml-devel >= 1.0.0
@@ -325,6 +327,9 @@ Akcje klienta VLC dla Solid.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
+%patch9 -p0
+%patch10 -p1
 
 %build
 %{__libtoolize}
@@ -332,7 +337,9 @@ Akcje klienta VLC dla Solid.
 %{__aclocal} -I m4
 %{__autoconf}
 %{__automake}
-# NOTE: --disable-optimizations is to use own RPM_OPT_FLAGS optimalizations
+# NOTE:
+# --disable-optimizations is to use own RPM_OPT_FLAGS optimalizations
+# iomx is Android-specific omxil codec option
 %configure \
        CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses -I/usr/include/xulrunner/stable -I/usr/include/liveMedia" \
        --disable-optimizations \
@@ -353,6 +360,7 @@ Akcje klienta VLC dla Solid.
        --enable-dvbpsi \
        --enable-dvdnav \
        --enable-dvdread \
+       --enable-egl \
        --enable-faad \
        --enable-freetype \
        --enable-fribidi \
@@ -363,10 +371,12 @@ Akcje klienta VLC dla Solid.
        %{?with_jack:--enable-jack} \
        --enable-lirc%{!?with_lirc:=no} \
        --enable-mad \
+       --enable-media-library \
        --enable-libva \
        --enable-live%{!?with_live:=no} \
        --enable-ncurses \
        %{!?with_notify:--disable-notify} \
+       --enable-omxil \
        %{?with_opencv:--enable-opencv} \
        --enable-oss \
        --enable-portaudio%{!?with_portaudio:=no} \
@@ -377,6 +387,7 @@ Akcje klienta VLC dla Solid.
        --enable-sdl \
        %{?with_sftp:--enable-sftp} \
        --enable-shared \
+       --enable-shine \
        --enable-shout%{!?with_shout:=no} \
        --enable-skins2 \
        %{!?with_smb:--disable-smb} \
This page took 0.06125 seconds and 4 git commands to generate.