[vlc-commits] demux: mp4: use define for block size

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Fri Apr  4 
08:44:17 2014 +0200| [5b24b0b6f58b211c9f8642f77d50603363a0a850] | committer: 
Francois Cartegnie

demux: mp4: use define for block size

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

 modules/demux/mp4/libmp4.c |   10 +-
 modules/demux/mp4/libmp4.h |2 ++
 modules/demux/mp4/mp4.c|4 ++--
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/modules/demux/mp4/libmp4.c b/modules/demux/mp4/libmp4.c
index 90489da..222313e 100644
--- a/modules/demux/mp4/libmp4.c
+++ b/modules/demux/mp4/libmp4.c
@@ -838,8 +838,8 @@ static int MP4_ReadBox_tkhd(  stream_t *p_stream, MP4_Box_t 
*p_box )
   scale[1],
   translate[0],
   translate[1],
-  (float)p_box->data.p_tkhd->i_width / 65536,
-  (float)p_box->data.p_tkhd->i_height / 65536,
+  (float)p_box->data.p_tkhd->i_width / BLOCK16x16,
+  (float)p_box->data.p_tkhd->i_height / BLOCK16x16,
   p_box->data.p_tkhd->i_matrix[0],
   p_box->data.p_tkhd->i_matrix[1],
   p_box->data.p_tkhd->i_matrix[2],
@@ -1665,8 +1665,8 @@ static int MP4_ReadBox_sample_soun( stream_t *p_stream, 
MP4_Box_t *p_box )
 memcpy( &f_sample_rate, &dummy, 8 );
 
 msg_Dbg( p_stream, "read box: %f Hz", f_sample_rate );
-p_box->data.p_sample_soun->i_sampleratehi = (int)f_sample_rate % 65536;
-p_box->data.p_sample_soun->i_sampleratelo = f_sample_rate / 65536;
+p_box->data.p_sample_soun->i_sampleratehi = (int)f_sample_rate % 
BLOCK16x16;
+p_box->data.p_sample_soun->i_sampleratelo = f_sample_rate / BLOCK16x16;
 
 MP4_GET4BYTES( i_channel );
 p_box->data.p_sample_soun->i_channelcount = i_channel;
@@ -1712,7 +1712,7 @@ static int MP4_ReadBox_sample_soun( stream_t *p_stream, 
MP4_Box_t *p_box )
  p_box->data.p_sample_soun->i_channelcount,
  p_box->data.p_sample_soun->i_samplesize,
  (float)p_box->data.p_sample_soun->i_sampleratehi +
- (float)p_box->data.p_sample_soun->i_sampleratelo / 65536 );
+ (float)p_box->data.p_sample_soun->i_sampleratelo / BLOCK16x16 );
 
 #endif
 MP4_READBOX_EXIT( 1 );
diff --git a/modules/demux/mp4/libmp4.h b/modules/demux/mp4/libmp4.h
index aac5e3f..8990311 100644
--- a/modules/demux/mp4/libmp4.h
+++ b/modules/demux/mp4/libmp4.h
@@ -25,6 +25,8 @@
 
 #include 
 
+#define BLOCK16x16 (1<<16)
+
 #define ATOM_root VLC_FOURCC( 'r', 'o', 'o', 't' )
 #define ATOM_uuid VLC_FOURCC( 'u', 'u', 'i', 'd' )
 
diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index 1beb50a..10a2ae8 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -2607,8 +2607,8 @@ static void MP4_TrackCreate( demux_t *p_demux, 
mp4_track_t *p_track,
 
 p_track->i_track_ID = p_tkhd->data.p_tkhd->i_track_ID;
 
-p_track->i_width = p_tkhd->data.p_tkhd->i_width / 65536;
-p_track->i_height = p_tkhd->data.p_tkhd->i_height / 65536;
+p_track->i_width = p_tkhd->data.p_tkhd->i_width / BLOCK16x16;
+p_track->i_height = p_tkhd->data.p_tkhd->i_height / BLOCK16x16;
 p_track->f_rotation = p_tkhd->data.p_tkhd->f_rotation;
 
 if( p_tref )

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux: mp4: use CLOCK_FREQ

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Fri Apr  4 
08:30:15 2014 +0200| [2f0a363d77c25002383deb7aaf031687be76e4b2] | committer: 
Francois Cartegnie

demux: mp4: use CLOCK_FREQ

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

 modules/demux/mp4/mp4.c |   32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index de1d749..1beb50a 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -158,7 +158,7 @@ static inline int64_t MP4_TrackGetDTS( demux_t *p_demux, 
mp4_track_t *p_track )
 if( i_dts < 0 ) i_dts = 0;
 }
 
-return INT64_C(100) * i_dts / p_track->i_timescale;
+return CLOCK_FREQ * i_dts / p_track->i_timescale;
 }
 
 static inline int64_t MP4_TrackGetPTSDelta( demux_t *p_demux, mp4_track_t 
*p_track )
@@ -179,7 +179,7 @@ static inline int64_t MP4_TrackGetPTSDelta( demux_t 
*p_demux, mp4_track_t *p_tra
 for( i_index = 0;; i_index++ )
 {
 if( i_sample < ck->p_sample_count_pts[i_index] )
-return ck->p_sample_offset_pts[i_index] * INT64_C(100) /
+return ck->p_sample_offset_pts[i_index] * CLOCK_FREQ /
(int64_t)p_track->i_timescale;
 
 i_sample -= ck->p_sample_count_pts[i_index];
@@ -188,7 +188,7 @@ static inline int64_t MP4_TrackGetPTSDelta( demux_t 
*p_demux, mp4_track_t *p_tra
 
 static inline int64_t MP4_GetMoviePTS(demux_sys_t *p_sys )
 {
-return INT64_C(100) * p_sys->i_time / p_sys->i_timescale;
+return CLOCK_FREQ * p_sys->i_time / p_sys->i_timescale;
 }
 
 static void LoadChapter( demux_t  *p_demux );
@@ -692,7 +692,7 @@ static int Demux( demux_t *p_demux )
 p_sys->i_time += __MAX( p_sys->i_timescale / 10 , 1 );
 if( p_sys->i_timescale > 0 )
 {
-int64_t i_length = (mtime_t)100 *
+int64_t i_length = CLOCK_FREQ *
(mtime_t)p_sys->i_duration /
(mtime_t)p_sys->i_timescale;
 if( MP4_GetMoviePTS( p_sys ) >= i_length )
@@ -832,7 +832,7 @@ static int Seek( demux_t *p_demux, mtime_t i_date )
 unsigned int i_track;
 
 /* First update global time */
-p_sys->i_time = i_date * p_sys->i_timescale / 100;
+p_sys->i_time = i_date * p_sys->i_timescale / CLOCK_FREQ;
 p_sys->i_pcr  = VLC_TS_INVALID;
 
 /* Now for each stream try to go to this time */
@@ -914,7 +914,7 @@ static int Control( demux_t *p_demux, int i_query, va_list 
args )
 }
 else if( p_sys->i_timescale > 0 )
 {
-i64 = (int64_t)( f * (double)100 *
+i64 = (int64_t)( f * CLOCK_FREQ *
  (double)p_sys->i_duration /
  (double)p_sys->i_timescale );
 return Seek( p_demux, i64 );
@@ -925,7 +925,7 @@ static int Control( demux_t *p_demux, int i_query, va_list 
args )
 pi64 = (int64_t*)va_arg( args, int64_t * );
 if( p_sys->i_timescale > 0 )
 {
-*pi64 = (mtime_t)100 *
+*pi64 = CLOCK_FREQ *
 (mtime_t)p_sys->i_time /
 (mtime_t)p_sys->i_timescale;
 }
@@ -940,7 +940,7 @@ static int Control( demux_t *p_demux, int i_query, va_list 
args )
 pi64 = (int64_t*)va_arg( args, int64_t * );
 if( p_sys->i_timescale > 0 )
 {
-*pi64 = (mtime_t)100 *
+*pi64 = CLOCK_FREQ *
 (mtime_t)p_sys->i_duration /
 (mtime_t)p_sys->i_timescale;
 }
@@ -1343,7 +1343,7 @@ static void LoadChapter( demux_t  *p_demux )
 /* Add duration if titles are enabled */
 if( p_sys->p_title )
 {
-p_sys->p_title->i_length = (uint64_t)100 *
+p_sys->p_title->i_length = CLOCK_FREQ *
(uint64_t)p_sys->i_duration / 
(uint64_t)p_sys->i_timescale;
 }
 }
@@ -2381,11 +2381,11 @@ static int TrackTimeToSampleChunk( demux_t *p_demux, 
mp4_track_t *p_track,
 if( p_track->p_elst && p_track->p_elst->data.p_elst->i_entry_count > 0 )
 {
 MP4_Box_data_elst_t *elst = p_track->p_elst->data.p_elst;
-int64_t i_mvt= i_start * p_sys->i_timescale / (int64_t)100;
+int64_t i_mvt= i_start * p_sys->i_timescale / CLOCK_FREQ;
 
 /* now calculate i_start for this elst */
 /* offset */
-i_start -= p_track->i_elst_time * INT64_C(100) / 
p_sys->i_timescale;
+i_start -= p_track->i_elst_time * CLOCK_FREQ / p_sys->i_timescale;
 if( i_start < 0 )
 {
 *pi_chunk = 0;
@@ -2394,7 +2394,7 @@ static int TrackTimeToSampleChunk( demux_t *p_demux, 
mp4_track_t *p_track,
 return VLC_SUCCESS;
 }
 /* to track time scale */
-i_start  = i_start

[vlc-commits] demux: mkv: fix warning & int overflow

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Fri Apr  4 
08:50:12 2014 +0200| [6dff8ffd6c4457e6619a004b23284f5a06a76882] | committer: 
Francois Cartegnie

demux: mkv: fix warning & int overflow

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

 modules/demux/mkv/util.cpp |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/demux/mkv/util.cpp b/modules/demux/mkv/util.cpp
index 326f631..9608b95 100644
--- a/modules/demux/mkv/util.cpp
+++ b/modules/demux/mkv/util.cpp
@@ -188,12 +188,12 @@ void handle_real_audio(demux_t * p_demux, mkv_track_t * 
p_tk, block_t * p_blk, m
 if( p_tk->fmt.i_codec == VLC_CODEC_COOK ||
 p_tk->fmt.i_codec == VLC_CODEC_ATRAC3 )
 {
-const uint32_t i_num = p_sys->i_frame_size / p_sys->i_subpacket_size;
-const int y = p_sys->i_subpacket / ( p_sys->i_frame_size / 
p_sys->i_subpacket_size );
+const uint16_t i_num = p_sys->i_frame_size / p_sys->i_subpacket_size;
+const size_t y = p_sys->i_subpacket / ( p_sys->i_frame_size / 
p_sys->i_subpacket_size );
 
-for( int i = 0; i < i_num; i++ )
+for( uint16_t i = 0; i < i_num; i++ )
 {
-int i_index = p_sys->i_sub_packet_h * i +
+size_t i_index = (size_t) p_sys->i_sub_packet_h * i +
   ((p_sys->i_sub_packet_h + 1) / 2) * (y&1) + (y>>1);
 if( i_index >= p_sys->i_subpackets )
 return;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] Qt: don't allow empty file on convert dialog (fix #11072)

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Fri Apr  4 
08:14:05 2014 +0200| [64c4b59ca7c5908cf16d21d3c6afbd9284bc7ce8] | committer: 
Francois Cartegnie

Qt: don't allow empty file on convert dialog (fix #11072)

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

 modules/gui/qt4/dialogs/convert.cpp |   10 +-
 modules/gui/qt4/dialogs/convert.hpp |3 +++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/modules/gui/qt4/dialogs/convert.cpp 
b/modules/gui/qt4/dialogs/convert.cpp
index 62cf840..2674928 100644
--- a/modules/gui/qt4/dialogs/convert.cpp
+++ b/modules/gui/qt4/dialogs/convert.cpp
@@ -105,7 +105,7 @@ ConvertDialog::ConvertDialog( QWidget *parent, 
intf_thread_t *_p_intf,
 mainLayout->addWidget( settingBox, 1, 0, 1, -1  );
 
 /* Buttons */
-QPushButton *okButton = new QPushButton( qtr( "&Start" ) );
+okButton = new QPushButton( qtr( "&Start" ) );
 QPushButton *cancelButton = new QPushButton( qtr( "&Cancel" ) );
 QDialogButtonBox *buttonBox = new QDialogButtonBox;
 
@@ -121,6 +121,9 @@ ConvertDialog::ConvertDialog( QWidget *parent, 
intf_thread_t *_p_intf,
 CONNECT( convertRadio, toggled(bool), convertPanel, setEnabled(bool) );
 CONNECT(profile, optionsChanged(), this, setDestinationFileExtension());
 CONNECT(fileLine, editingFinished(), this, setDestinationFileExtension());
+CONNECT(fileLine, textChanged(const QString&), this, validate());
+
+validate();
 }
 
 void ConvertDialog::fileBrowse()
@@ -182,3 +185,8 @@ void ConvertDialog::setDestinationFileExtension()
 }
 }
 }
+
+void ConvertDialog::validate()
+{
+okButton->setEnabled( !fileLine->text().isEmpty() );
+}
diff --git a/modules/gui/qt4/dialogs/convert.hpp 
b/modules/gui/qt4/dialogs/convert.hpp
index a2e8296..c2b6a38 100644
--- a/modules/gui/qt4/dialogs/convert.hpp
+++ b/modules/gui/qt4/dialogs/convert.hpp
@@ -29,6 +29,7 @@
 class QLineEdit;
 class QCheckBox;
 class QRadioButton;
+class QPushButton;
 class VLCProfileSelector;
 
 class ConvertDialog : public QVLCDialog
@@ -45,6 +46,7 @@ private:
 
 QCheckBox *displayBox, *deinterBox;
 QRadioButton *dumpRadio;
+QPushButton *okButton;
 VLCProfileSelector *profile;
 QString mrl;
 private slots:
@@ -52,6 +54,7 @@ private slots:
 virtual void cancel();
 void fileBrowse();
 void setDestinationFileExtension();
+void validate();
 };
 
 #endif

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] rawvideo: fix vflipped bitmap packetization

2014-04-03 Thread Rémi Denis-Courmont
vlc | branch: master | Rémi Denis-Courmont  | Thu Apr  3 
23:56:00 2014 +0300| [1e697c0ea32491cd07cb057be123371dc8949154] | committer: 
Rémi Denis-Courmont

rawvideo: fix vflipped bitmap packetization

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

 modules/codec/rawvideo.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/codec/rawvideo.c b/modules/codec/rawvideo.c
index 3d68afb..c364059 100644
--- a/modules/codec/rawvideo.c
+++ b/modules/codec/rawvideo.c
@@ -338,6 +338,7 @@ static block_t *SendFrame( decoder_t *p_dec, block_t 
*p_block )
 }
 }
 block_Release( p_block );
+p_block = out;
 }
 
 return p_block;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] rawvideo: avoid casting function pointers

2014-04-03 Thread Rémi Denis-Courmont
vlc | branch: master | Rémi Denis-Courmont  | Thu Apr  3 
23:56:27 2014 +0300| [470602d5cfc6b1069ab2a0591271345b9550d7d0] | committer: 
Rémi Denis-Courmont

rawvideo: avoid casting function pointers

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

 modules/codec/rawvideo.c |  115 +-
 1 file changed, 53 insertions(+), 62 deletions(-)

diff --git a/modules/codec/rawvideo.c b/modules/codec/rawvideo.c
index c364059..331c216 100644
--- a/modules/codec/rawvideo.c
+++ b/modules/codec/rawvideo.c
@@ -37,9 +37,6 @@
  */
 struct decoder_sys_t
 {
-/* Module mode */
-bool b_packetizer;
-
 /*
  * Input properties
  */
@@ -60,12 +57,7 @@ struct decoder_sys_t
  /
 static int  OpenDecoder   ( vlc_object_t * );
 static int  OpenPacketizer( vlc_object_t * );
-static void CloseDecoder  ( vlc_object_t * );
-
-static void *DecodeBlock  ( decoder_t *, block_t ** );
-
-static picture_t *DecodeFrame( decoder_t *, block_t * );
-static block_t   *SendFrame  ( decoder_t *, block_t * );
+static void CloseCommon   ( vlc_object_t * );
 
 /*
  * Module descriptor
@@ -75,21 +67,19 @@ vlc_module_begin ()
 set_capability( "decoder", 50 )
 set_category( CAT_INPUT )
 set_subcategory( SUBCAT_INPUT_VCODEC )
-set_callbacks( OpenDecoder, CloseDecoder )
+set_callbacks( OpenDecoder, CloseCommon )
 
 add_submodule ()
 set_description( N_("Pseudo raw video packetizer") )
 set_capability( "packetizer", 100 )
-set_callbacks( OpenPacketizer, CloseDecoder )
+set_callbacks( OpenPacketizer, CloseCommon )
 vlc_module_end ()
 
-/*
- * OpenDecoder: probe the decoder and return score
- */
-static int OpenDecoder( vlc_object_t *p_this )
+/**
+ * Common initialization for decoder and packetizer
+ */
+static int OpenCommon( decoder_t *p_dec )
 {
-decoder_t *p_dec = (decoder_t*)p_this;
-
 const vlc_chroma_description_t *dsc =
 vlc_fourcc_GetChromaDescription( p_dec->fmt_in.i_codec );
 if( dsc == NULL || dsc->plane_count == 0 )
@@ -144,27 +134,10 @@ static int OpenDecoder( vlc_object_t *p_this )
 p_sys->size += pitch * lines;
 }
 
-/* Set callbacks */
-p_dec->pf_decode_video = (picture_t *(*)(decoder_t *, block_t **))
-DecodeBlock;
-p_dec->pf_packetize= (block_t *(*)(decoder_t *, block_t **))
-DecodeBlock;
 p_dec->p_sys   = p_sys;
-
 return VLC_SUCCESS;
 }
 
-static int OpenPacketizer( vlc_object_t *p_this )
-{
-decoder_t *p_dec = (decoder_t*)p_this;
-
-int i_ret = OpenDecoder( p_this );
-
-if( i_ret == VLC_SUCCESS ) p_dec->p_sys->b_packetizer = true;
-
-return i_ret;
-}
-
 /
  * DecodeBlock: the whole thing
  
@@ -173,13 +146,11 @@ static int OpenPacketizer( vlc_object_t *p_this )
 static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
 {
 decoder_sys_t *p_sys = p_dec->p_sys;
-block_t *p_block;
-void *p_buf;
-
-if( !pp_block || !*pp_block ) return NULL;
 
-p_block = *pp_block;
+if( pp_block == NULL || *pp_block == NULL )
+return NULL;
 
+block_t *p_block = *pp_block;
 
 if( p_block->i_pts <= VLC_TS_INVALID && p_block->i_dts <= VLC_TS_INVALID &&
 !date_Get( &p_sys->pts ) )
@@ -212,20 +183,8 @@ static void *DecodeBlock( decoder_t *p_dec, block_t 
**pp_block )
 return NULL;
 }
 
-if( p_sys->b_packetizer )
-{
-p_buf = SendFrame( p_dec, p_block );
-}
-else
-{
-p_buf = DecodeFrame( p_dec, p_block );
-}
-
-/* Date management: 1 frame per packet */
-date_Increment( &p_sys->pts, 1 );
 *pp_block = NULL;
-
-return p_buf;
+return p_block;
 }
 
 /*
@@ -272,14 +231,17 @@ static void FillPicture( decoder_t *p_dec, block_t 
*p_block, picture_t *p_pic )
 /*
  * DecodeFrame: decodes a video frame.
  */
-static picture_t *DecodeFrame( decoder_t *p_dec, block_t *p_block )
+static picture_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
 {
+block_t *p_block = DecodeBlock( p_dec, pp_block );
+if( p_block == NULL )
+return NULL;
+
 decoder_sys_t *p_sys = p_dec->p_sys;
-picture_t *p_pic;
 
 /* Get a new picture */
-p_pic = deco

[vlc-commits] codec: tx3g: missing braces

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Thu Apr  3 
20:23:16 2014 +0200| [ced162370d030c6c3bb0cdfe28deb129ddea9b62] | committer: 
Francois Cartegnie

codec: tx3g: missing braces

refs c3c6e9b81d34ab970ccc9bb22f960558acb31cb8

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

 modules/codec/substx3g.c |   11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/modules/codec/substx3g.c b/modules/codec/substx3g.c
index b542ffc..cce2491 100644
--- a/modules/codec/substx3g.c
+++ b/modules/codec/substx3g.c
@@ -262,12 +262,17 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t 
**pp_block )
 if ( i_psz_bytelength > 2 &&
  ( !memcmp( p_pszstart, "\xFE\xFF", 2 ) || !memcmp( p_pszstart, 
"\xFF\xFE", 2 ) )
)
+{
 psz_subtitle = FromCharset( "UTF-16", p_pszstart, i_psz_bytelength );
+if ( !psz_subtitle ) return NULL;
+}
 else
+{
 psz_subtitle = malloc( i_psz_bytelength + 1 );
-if ( !psz_subtitle ) return NULL;
-memcpy( psz_subtitle, p_pszstart, i_psz_bytelength );
-psz_subtitle[ i_psz_bytelength ] = '\0';
+if ( !psz_subtitle ) return NULL;
+memcpy( psz_subtitle, p_pszstart, i_psz_bytelength );
+psz_subtitle[ i_psz_bytelength ] = '\0';
+}
 p_buf += i_psz_bytelength + sizeof(uint16_t);
 
 for( uint16_t i=0; i < i_psz_bytelength; i++ )

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] substx3g: Allow multiple simultanious face styles

2014-04-03 Thread John Stebbins
vlc | branch: master | John Stebbins  | Thu Apr  3 
11:08:02 2014 -0600| [2f966bd6edebb262b4e5e0977d84c9737e8043c1] | committer: 
Francois Cartegnie

substx3g: Allow multiple simultanious face styles

Signed-off-by: Francois Cartegnie 

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

 modules/codec/substx3g.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/codec/substx3g.c b/modules/codec/substx3g.c
index a735f45..b542ffc 100644
--- a/modules/codec/substx3g.c
+++ b/modules/codec/substx3g.c
@@ -80,9 +80,9 @@ static int ConvertFlags( int i_atomflags )
 int i_vlcstyles_flags = 0;
 if ( i_atomflags & FONT_FACE_BOLD )
 i_vlcstyles_flags |= STYLE_BOLD;
-else if ( i_atomflags & FONT_FACE_ITALIC )
+if ( i_atomflags & FONT_FACE_ITALIC )
 i_vlcstyles_flags |= STYLE_ITALIC;
-else if ( i_atomflags & FONT_FACE_UNDERLINE )
+if ( i_atomflags & FONT_FACE_UNDERLINE )
 i_vlcstyles_flags |= STYLE_UNDERLINE;
 return i_vlcstyles_flags;
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux: mp4: handle in sample text encoding (fix #11137)

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Thu Apr  3 
18:14:57 2014 +0200| [c3c6e9b81d34ab970ccc9bb22f960558acb31cb8] | committer: 
Francois Cartegnie

demux: mp4: handle in sample text encoding (fix #11137)

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

 modules/codec/substx3g.c |   24 
 modules/demux/mp4/mp4.c  |1 -
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/modules/codec/substx3g.c b/modules/codec/substx3g.c
index 4d26b9c..a735f45 100644
--- a/modules/codec/substx3g.c
+++ b/modules/codec/substx3g.c
@@ -26,6 +26,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "substext.h"
 
@@ -255,14 +256,21 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t 
**pp_block )
 uint8_t *p_buf = p_block->p_buffer;
 
 /* Read our raw string and create the styled segment for HTML */
-uint16_t i_psz_length = GetWBE( p_buf );
-char *psz_subtitle = malloc( i_psz_length + 1 );
+uint16_t i_psz_bytelength = GetWBE( p_buf );
+const uint8_t *p_pszstart = p_block->p_buffer + sizeof(uint16_t);
+char *psz_subtitle;
+if ( i_psz_bytelength > 2 &&
+ ( !memcmp( p_pszstart, "\xFE\xFF", 2 ) || !memcmp( p_pszstart, 
"\xFF\xFE", 2 ) )
+   )
+psz_subtitle = FromCharset( "UTF-16", p_pszstart, i_psz_bytelength );
+else
+psz_subtitle = malloc( i_psz_bytelength + 1 );
 if ( !psz_subtitle ) return NULL;
-memcpy( psz_subtitle, p_block->p_buffer + sizeof(uint16_t), i_psz_length );
-psz_subtitle[ i_psz_length ] = '\0';
-p_buf += i_psz_length + sizeof(uint16_t);
+memcpy( psz_subtitle, p_pszstart, i_psz_bytelength );
+psz_subtitle[ i_psz_bytelength ] = '\0';
+p_buf += i_psz_bytelength + sizeof(uint16_t);
 
-for( uint16_t i=0; i < i_psz_length; i++ )
+for( uint16_t i=0; i < i_psz_bytelength; i++ )
  if ( psz_subtitle[i] == '\r' ) psz_subtitle[i] = '\n';
 
 segment_t *p_segment = calloc( 1, sizeof(segment_t) );
@@ -317,8 +325,8 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t 
**pp_block )
 while( i_cur_record++ < i_nbrecords )
 {
 if ( (size_t)(p_buf - p_block->p_buffer) < 12 ) break;
-uint16_t i_start = __MIN( GetWBE(p_buf), i_psz_length - 1 );
-uint16_t i_end =  __MIN( GetWBE(p_buf + 2), i_psz_length - 1 );
+uint16_t i_start = __MIN( GetWBE(p_buf), i_psz_bytelength - 1 
);
+uint16_t i_end =  __MIN( GetWBE(p_buf + 2), i_psz_bytelength - 
1 );
 
 segment_style_t style;
 style.i_flags = ConvertFlags( p_buf[6] );
diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index e63a3f0..de1d749 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -2001,7 +2001,6 @@ static int TrackCreateES( demux_t *p_demux, mp4_track_t 
*p_track,
 }
 p_track->fmt.subs.p_style = p_style;
 }
-/* FIXME: Not true, could be UTF-16 with a Byte Order Mark 
(0xfeff) */
 /* FIXME UTF-8 doesn't work here ? */
 if( p_track->b_mac_encoding )
 p_track->fmt.subs.psz_encoding = strdup( "MAC" );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] codec: tx3g: handle utf8 (fix #11138)

2014-04-03 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Thu Apr  3 
17:52:39 2014 +0200| [edb0f284e4348469ce9f9d4fa64537ae78971fd0] | committer: 
Francois Cartegnie

codec: tx3g: handle utf8 (fix #11138)

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

 modules/codec/substx3g.c |   44 +---
 1 file changed, 37 insertions(+), 7 deletions(-)

diff --git a/modules/codec/substx3g.c b/modules/codec/substx3g.c
index 4464b89..4d26b9c 100644
--- a/modules/codec/substx3g.c
+++ b/modules/codec/substx3g.c
@@ -86,6 +86,36 @@ static int ConvertFlags( int i_atomflags )
 return i_vlcstyles_flags;
 }
 
+static size_t str8len( const char *psz_string )
+{
+const char *psz_tmp = psz_string;
+size_t i=0;
+while ( *psz_tmp )
+{
+if ( (*psz_tmp & 0xC0) != 0x80 ) i++;
+psz_tmp++;
+}
+return i;
+}
+
+static char * str8indup( const char *psz_string, size_t i_skip, size_t n )
+{
+while( i_skip && *psz_string )
+{
+if ( (*psz_string & 0xC0) != 0x80 ) i_skip--;
+psz_string++;
+}
+if ( ! *psz_string || i_skip ) return NULL;
+
+const char *psz_tmp = psz_string;
+while( n && *psz_tmp )
+{
+if ( (*psz_tmp & 0xC0) != 0x80 ) n--;
+psz_tmp++;
+}
+return strndup( psz_string, psz_tmp - psz_string );
+}
+
 static void SegmentDoSplit( segment_t *p_segment, uint16_t i_start, uint16_t 
i_end,
 segment_t **pp_segment_left,
 segment_t **pp_segment_middle,
@@ -104,23 +134,23 @@ static void SegmentDoSplit( segment_t *p_segment, 
uint16_t i_start, uint16_t i_e
 p_segment_left = calloc( 1, sizeof(segment_t) );
 if ( !p_segment_left ) goto error;
 memcpy( &p_segment_left->styles, &p_segment->styles, 
sizeof(segment_style_t) );
-p_segment_left->psz_string = strndup( p_segment->psz_string, i_start );
-p_segment_left->i_size = strlen( p_segment_left->psz_string );
+p_segment_left->psz_string = str8indup( p_segment->psz_string, 0, 
i_start );
+p_segment_left->i_size = str8len( p_segment_left->psz_string );
 }
 
 p_segment_middle = calloc( 1, sizeof(segment_t) );
 if ( !p_segment_middle ) goto error;
 memcpy( &p_segment_middle->styles, &p_segment->styles, 
sizeof(segment_style_t) );
-p_segment_middle->psz_string = strndup( p_segment->psz_string + i_start, 
i_end - i_start + 1 );
-p_segment_middle->i_size = strlen( p_segment_middle->psz_string );
+p_segment_middle->psz_string = str8indup( p_segment->psz_string, i_start, 
i_end - i_start + 1 );
+p_segment_middle->i_size = str8len( p_segment_middle->psz_string );
 
 if ( i_end < (p_segment->i_size - 1) )
 {
 p_segment_right = calloc( 1, sizeof(segment_t) );
 if ( !p_segment_right ) goto error;
 memcpy( &p_segment_right->styles, &p_segment->styles, 
sizeof(segment_style_t) );
-p_segment_right->psz_string = strndup( p_segment->psz_string + i_end + 
1, p_segment->i_size - i_end - 1 );
-p_segment_right->i_size = strlen( p_segment_right->psz_string );
+p_segment_right->psz_string = str8indup( p_segment->psz_string, i_end 
+ 1, p_segment->i_size - i_end - 1 );
+p_segment_right->i_size = str8len( p_segment_right->psz_string );
 }
 
 if ( p_segment_left ) p_segment_left->p_next = p_segment_middle;
@@ -242,7 +272,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t 
**pp_block )
 return NULL;
 }
 p_segment->psz_string = strdup( psz_subtitle );
-p_segment->i_size = strlen( psz_subtitle );
+p_segment->i_size = str8len( psz_subtitle );
 if ( p_dec->fmt_in.subs.p_style )
 {
 p_segment->styles.i_color = p_dec->fmt_in.subs.p_style->i_font_color;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] android: fix green line issue when using an YUV surface in SW mode.

2014-04-03 Thread Felix Abecassis
vlc | branch: master | Felix Abecassis  | Thu Apr  3 
19:33:57 2014 +0200| [a5d9020b282d107e76259748f428ba93e34eca4f] | committer: 
Felix Abecassis

android: fix green line issue when using an YUV surface in SW mode.

The padding lines introduced by avcodec for direct rendering are set
to black since they might be used by Android during rescaling.

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

 modules/video_output/android/surface.c |7 +++
 1 file changed, 7 insertions(+)

diff --git a/modules/video_output/android/surface.c 
b/modules/video_output/android/surface.c
index 8325fe5..bc51913 100644
--- a/modules/video_output/android/surface.c
+++ b/modules/video_output/android/surface.c
@@ -329,6 +329,13 @@ static void SetupPictureYV12( SurfaceInfo* p_surfaceInfo, 
picture_t *p_picture )
 p->p_pixels = o->p_pixels + o->i_lines * o->i_pitch;
 p->i_pitch  = i_c_stride;
 p->i_lines  = p_picture->format.i_height / 2;
+/*
+  Explicitly set the padding lines of the picture to black (127 for 
YUV)
+  since they might be used by Android during rescaling.
+*/
+int visible_lines = p_picture->format.i_visible_height / 2;
+if (visible_lines < p->i_lines)
+memset(&p->p_pixels[visible_lines * p->i_pitch], 127, (p->i_lines 
- visible_lines) * p->i_pitch);
 }
 
 if( vlc_fourcc_AreUVPlanesSwapped( p_picture->format.i_chroma,

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] scene: remove unused include

2014-04-03 Thread Tristan Matthews
vlc | branch: master | Tristan Matthews  | Thu Apr  3 
13:32:32 2014 -0400| [360326dbf1a31ebf3f9ac713860550249c89d32e] | committer: 
Tristan Matthews

scene: remove unused include

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

 modules/video_filter/scene.c |1 -
 1 file changed, 1 deletion(-)

diff --git a/modules/video_filter/scene.c b/modules/video_filter/scene.c
index 23d2783..3b8ad6f 100644
--- a/modules/video_filter/scene.c
+++ b/modules/video_filter/scene.c
@@ -35,7 +35,6 @@
 
 #include 
 #include 
-#include 
 
 #include 
 #include "filter_picture.h"

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] playlist: log error message on export I/O error

2014-04-03 Thread Rémi Denis-Courmont
vlc | branch: master | Rémi Denis-Courmont  | Thu Apr  3 
20:19:35 2014 +0300| [8260ca6f2e439ef55114114212925f1422abf3f1] | committer: 
Rémi Denis-Courmont

playlist: log error message on export I/O error

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

 src/playlist/loadsave.c |3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/playlist/loadsave.c b/src/playlist/loadsave.c
index 9471092..605059f 100644
--- a/src/playlist/loadsave.c
+++ b/src/playlist/loadsave.c
@@ -76,6 +76,9 @@ int playlist_Export( playlist_t * p_playlist, const char 
*psz_filename,
 module_unneed( p_export, p_module );
 if( !ferror( p_export->p_file ) )
 ret = VLC_SUCCESS;
+else
+msg_Err( p_playlist, "could not write playlist file: %s",
+ vlc_strerror_c(errno) );
 }
 else
 msg_Err( p_playlist, "could not export playlist" );

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] playlist: report playlist export I/O errors (fixes #10087)

2014-04-03 Thread Rémi Denis-Courmont
vlc | branch: master | Rémi Denis-Courmont  | Thu Apr  3 
20:16:49 2014 +0300| [31d48b089124a50e76486f8ef6b1fb03936a9bda] | committer: 
Rémi Denis-Courmont

playlist: report playlist export I/O errors (fixes #10087)

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

 src/playlist/loadsave.c |   37 -
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/src/playlist/loadsave.c b/src/playlist/loadsave.c
index f8298e7..9471092 100644
--- a/src/playlist/loadsave.c
+++ b/src/playlist/loadsave.c
@@ -45,7 +45,7 @@ int playlist_Export( playlist_t * p_playlist, const char 
*psz_filename,
 
 playlist_export_t *p_export =
 vlc_custom_create( p_playlist, sizeof( *p_export ), "playlist export" 
);
-if( !p_export )
+if( unlikely(p_export == NULL) )
 return VLC_ENOMEM;
 
 msg_Dbg( p_export, "saving %s to file %s",
@@ -58,26 +58,29 @@ int playlist_Export( playlist_t * p_playlist, const char 
*psz_filename,
 p_export->psz_filename = psz_filename;
 p_export->p_file = vlc_fopen( psz_filename, "wt" );
 if( p_export->p_file == NULL )
+{
 msg_Err( p_export, "could not create playlist file %s: %s",
  psz_filename, vlc_strerror_c(errno) );
-else
+goto out;
+}
+
+module_t *p_module;
+
+/* And call the module ! All work is done now */
+playlist_Lock( p_playlist );
+p_module = module_need( p_export, "playlist export", psz_type, true );
+playlist_Unlock( p_playlist );
+
+if( p_module != NULL )
 {
-module_t *p_module;
-
-/* And call the module ! All work is done now */
-playlist_Lock( p_playlist );
-p_module = module_need( p_export, "playlist export", psz_type, true );
-playlist_Unlock( p_playlist );
-
-if( p_module == NULL )
-msg_Err( p_playlist, "could not export playlist" );
-else
-{
-module_unneed( p_export, p_module );
+module_unneed( p_export, p_module );
+if( !ferror( p_export->p_file ) )
 ret = VLC_SUCCESS;
-}
-fclose( p_export->p_file );
-   }
+}
+else
+msg_Err( p_playlist, "could not export playlist" );
+   fclose( p_export->p_file );
+out:
vlc_object_release( p_export );
return ret;
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] configure: remove gratuitious greeting in error message

2014-04-03 Thread Rémi Denis-Courmont
vlc | branch: master | Rémi Denis-Courmont  | Thu Apr  3 
19:39:05 2014 +0300| [9495b3ca984336ecdfbfad7c688b43d3dd44b73e] | committer: 
Rémi Denis-Courmont

configure: remove gratuitious greeting in error message

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

 configure.ac |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index c1fe742..4794125 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3950,10 +3950,10 @@ AS_IF([test "${enable_libgcrypt}" != "no"], [
   GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
   GCRYPT_LIBS="`libgcrypt-config --libs`"
 ], [
-  AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use 
--disable-libgcrypt. Have a nice day.])
+  AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass 
--disable-libgcrypt.])
 ], [`libgcrypt-config --libs`])
   ], [
-AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install 
libgcrypt or use --disable-libgcrypt. Have a nice day.])
+AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install 
libgcrypt or pass --disable-libgcrypt.])
   ], [#include ]
   )
 ])

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] hwaccel: uniformize plugin descriptions

2014-04-03 Thread Rémi Denis-Courmont
vlc | branch: master | Rémi Denis-Courmont  | Thu Apr  3 
19:42:49 2014 +0300| [11e571c7b2c0dc8a52443e541787b34aa5b3d6a9] | committer: 
Rémi Denis-Courmont

hwaccel: uniformize plugin descriptions

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

 modules/codec/avcodec/hwdummy.c |2 +-
 modules/codec/avcodec/vaapi.c   |4 ++--
 modules/hw/vdpau/avcodec.c  |2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/codec/avcodec/hwdummy.c b/modules/codec/avcodec/hwdummy.c
index 9db27d2..eecebae 100644
--- a/modules/codec/avcodec/hwdummy.c
+++ b/modules/codec/avcodec/hwdummy.c
@@ -39,7 +39,7 @@ static int Open(vlc_va_t *, AVCodecContext *, const 
es_format_t *);
 static void Close(vlc_va_t *);
 
 vlc_module_begin()
-set_description(N_("Dummy video decoding accelerator"))
+set_description(N_("Dummy video decoder"))
 set_capability("hw decoder", 0)
 set_category(CAT_INPUT)
 set_subcategory(SUBCAT_INPUT_VCODEC)
diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
index 3b7ccc0..ed77a50 100644
--- a/modules/codec/avcodec/vaapi.c
+++ b/modules/codec/avcodec/vaapi.c
@@ -59,9 +59,9 @@ static void Delete( vlc_va_t * );
 
 vlc_module_begin ()
 #if defined (VLC_VA_BACKEND_XLIB)
-set_description( N_("Video Acceleration (VA) API / X11") )
+set_description( N_("VA-API video decoder via X11") )
 #elif defined (VLC_VA_BACKEND_DRM)
-set_description( N_("Video Acceleration (VA) API / DRM") )
+set_description( N_("VA-API video decoder via DRM") )
 #endif
 set_capability( "hw decoder", 0 )
 set_category( CAT_INPUT )
diff --git a/modules/hw/vdpau/avcodec.c b/modules/hw/vdpau/avcodec.c
index fa7964e..c87013d 100644
--- a/modules/hw/vdpau/avcodec.c
+++ b/modules/hw/vdpau/avcodec.c
@@ -42,7 +42,7 @@ static int Open(vlc_va_t *, AVCodecContext *, const 
es_format_t *);
 static void Close(vlc_va_t *);
 
 vlc_module_begin()
-set_description(N_("VDPAU hardware-accelerated decoder"))
+set_description(N_("VDPAU video decoder"))
 set_capability("hw decoder", 100)
 set_category(CAT_INPUT)
 set_subcategory(SUBCAT_INPUT_VCODEC)

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] contrib/jpeg: use our own hosting since their servers blocks downloads with curl ( close #11048)

2014-04-03 Thread Felix Paul Kühne
vlc/vlc-2.1 | branch: master | Felix Paul Kühne  | Sat 
Mar 22 15:36:01 2014 +0100| [72e68ec007d1ec55656e204e6debdc25bc0b3a58] | 
committer: Felix Paul Kühne

contrib/jpeg: use our own hosting since their servers blocks downloads with 
curl (close #11048)

wget and mainstream web browsers are not affected.

(cherry picked from commit 2e4af36981bdee565172366ef10d7af86ba90077)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.1.git/?a=commit;h=72e68ec007d1ec55656e204e6debdc25bc0b3a58
---

 contrib/src/jpeg/rules.mak |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/src/jpeg/rules.mak b/contrib/src/jpeg/rules.mak
index 736a4cc..12395b7 100644
--- a/contrib/src/jpeg/rules.mak
+++ b/contrib/src/jpeg/rules.mak
@@ -1,7 +1,8 @@
 # jpeg
 
 JPEG_VERSION := 9
-JPEG_URL := http://www.ijg.org/files/jpegsrc.v$(JPEG_VERSION).tar.gz
+# JPEG_URL := http://www.ijg.org/files/jpegsrc.v$(JPEG_VERSION).tar.gz
+JPEG_URL := 
http://download.videolan.org/pub/contrib/jpegsrc.v$(JPEG_VERSION).tar.gz
 
 $(TARBALLS)/jpegsrc.v$(JPEG_VERSION).tar.gz:
$(call download,$(JPEG_URL))

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] mediacodec: check exceptions after getCapabilitiesForType()

2014-04-03 Thread Felix Abecassis
vlc | branch: master | Felix Abecassis  | Thu Apr  3 
15:37:13 2014 +0200| [14b85712d1ed59aa37c23f07a85c8c694ff73b09] | committer: 
Felix Abecassis

mediacodec: check exceptions after getCapabilitiesForType()

Avoid crashing on some devices, but it forces fallback to SW decoding.

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

 modules/codec/omxil/android_mediacodec.c |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/codec/omxil/android_mediacodec.c 
b/modules/codec/omxil/android_mediacodec.c
index 951d879..ba70fdc 100644
--- a/modules/codec/omxil/android_mediacodec.c
+++ b/modules/codec/omxil/android_mediacodec.c
@@ -388,7 +388,11 @@ static int OpenDecoder(vlc_object_t *p_this)
   
(*env)->NewStringUTF(env, mime));
 jobject profile_levels = NULL;
 int profile_levels_len = 0;
-if (codec_capabilities) {
+if ((*env)->ExceptionOccurred(env)) {
+msg_Warn(p_dec, "Exception occurred in 
MediaCodecInfo.getCapabilitiesForType");
+(*env)->ExceptionClear(env);
+break;
+} else if (codec_capabilities) {
 profile_levels = (*env)->GetObjectField(env, codec_capabilities, 
p_sys->profile_levels_field);
 if (profile_levels)
 profile_levels_len = (*env)->GetArrayLength(env, 
profile_levels);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] omxil: do not use iomx (Android) for audio decoding

2014-04-03 Thread Felix Abecassis
vlc | branch: master | Felix Abecassis  | Thu Apr  3 
12:18:48 2014 +0200| [f90e9ebc5a95ba65873995540901260233e32f97] | committer: 
Felix Abecassis

omxil: do not use iomx (Android) for audio decoding

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

 modules/codec/omxil/omxil.c |5 +
 1 file changed, 5 insertions(+)

diff --git a/modules/codec/omxil/omxil.c b/modules/codec/omxil/omxil.c
index e3e34c4..6298cdc 100644
--- a/modules/codec/omxil/omxil.c
+++ b/modules/codec/omxil/omxil.c
@@ -780,6 +780,11 @@ static int OpenDecoder( vlc_object_t *p_this )
 decoder_t *p_dec = (decoder_t*)p_this;
 int status;
 
+#ifdef __ANDROID__
+if( p_dec->fmt_in.i_cat == AUDIO_ES )
+return VLC_EGENERIC;
+#endif
+
 if( 0 || !GetOmxRole(p_dec->fmt_in.i_codec, p_dec->fmt_in.i_cat, false) )
 return VLC_EGENERIC;
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits