[packages/vlc/DEVEL] - temporarily saving my work - ffmpeg patch fixes build with ffmpeg 2 - live555 patch fixes build wi
qboosh
qboosh at pld-linux.org
Thu Aug 8 18:28:35 CEST 2013
commit a14ebb2e4143be294e0e418f82f469576535954c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Thu Aug 8 18:27:18 2013 +0200
- temporarily saving my work
- 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 | 156 ++++++++++++++++
vlc-libdvbpsi.patch | 503 ++++++++++++++++++++++++++++++++++++++++++++++++++++
vlc-live555.patch | 11 ++
vlc.spec | 27 ++-
4 files changed, 689 insertions(+), 8 deletions(-)
---
diff --git a/vlc.spec b/vlc.spec
index d6567aa..77dad56 100644
--- 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} \
diff --git a/vlc-ffmpeg.patch b/vlc-ffmpeg.patch
new file mode 100644
index 0000000..5764be4
--- /dev/null
+++ b/vlc-ffmpeg.patch
@@ -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
index 0000000..1d384fe
--- /dev/null
+++ b/vlc-libdvbpsi.patch
@@ -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
index 0000000..8a0ef3f
--- /dev/null
+++ b/vlc-live555.patch
@@ -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;
+ }
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vlc.git/commitdiff/a14ebb2e4143be294e0e418f82f469576535954c
More information about the pld-cvs-commit
mailing list