projects
/
goodguy
/
history.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
47ad0dc
)
libzmpeg3 layer3 tweak, listbox selection fix, vicon emtpy video fixes
author
Good Guy
<good1.2guy@gmail.com>
Sat, 28 Jul 2018 23:24:46 +0000
(17:24 -0600)
committer
Good Guy
<good1.2guy@gmail.com>
Sat, 28 Jul 2018 23:24:46 +0000
(17:24 -0600)
cinelerra-5.1/cinelerra/awindowgui.C
patch
|
blob
|
history
cinelerra-5.1/guicast/bclistbox.C
patch
|
blob
|
history
cinelerra-5.1/guicast/vicon.C
patch
|
blob
|
history
cinelerra-5.1/libzmpeg3/audio/layer3.C
patch
|
blob
|
history
diff --git
a/cinelerra-5.1/cinelerra/awindowgui.C
b/cinelerra-5.1/cinelerra/awindowgui.C
index e7f8e7bee9daf24980b67d1314079838394ab733..505f32f16cd2c191e3b8d6d19c01dbaedf76fcf1 100644
(file)
--- a/
cinelerra-5.1/cinelerra/awindowgui.C
+++ b/
cinelerra-5.1/cinelerra/awindowgui.C
@@
-134,6
+134,15
@@
VFrame *AssetVIcon::frame()
temp->draw_line(x,0, x,vh);
return temp;
}
temp->draw_line(x,0, x,vh);
return temp;
}
+ int ww = picon->gui->vicon_thread->view_w;
+ int hh = picon->gui->vicon_thread->view_h;
+ if( !asset->video_data ) {
+ if( !temp ) {
+ temp = new VFrame(0, -1, ww, hh, BC_RGB888, -1);
+ temp->clear_frame();
+ }
+ return temp;
+ }
if( seq_no >= images.size() ) {
MWindow *mwindow = picon->mwindow;
File *file = mwindow->video_cache->check_out(asset, mwindow->edl, 1);
if( seq_no >= images.size() ) {
MWindow *mwindow = picon->mwindow;
File *file = mwindow->video_cache->check_out(asset, mwindow->edl, 1);
@@
-143,8
+152,6
@@
VFrame *AssetVIcon::frame()
}
if( !temp )
temp = new VFrame(0, -1, asset->width, asset->height, BC_RGB888, -1);
}
if( !temp )
temp = new VFrame(0, -1, asset->width, asset->height, BC_RGB888, -1);
- int ww = picon->gui->vicon_thread->view_w;
- int hh = picon->gui->vicon_thread->view_h;
while( seq_no >= images.size() ) {
file->set_layer(0);
int64_t pos = images.size() / picon->gui->vicon_thread->refresh_rate * frame_rate;
while( seq_no >= images.size() ) {
file->set_layer(0);
int64_t pos = images.size() / picon->gui->vicon_thread->refresh_rate * frame_rate;
diff --git
a/cinelerra-5.1/guicast/bclistbox.C
b/cinelerra-5.1/guicast/bclistbox.C
index b10cdf0860c7a22aceb2ee9f5844fff3a4524383..320e98bc4d701269e2fa636f02556a2bc4c419c6 100644
(file)
--- a/
cinelerra-5.1/guicast/bclistbox.C
+++ b/
cinelerra-5.1/guicast/bclistbox.C
@@
-2093,8
+2093,7
@@
int BC_ListBox::get_cursor_item(ArrayList<BC_ListBoxItem*> *data, int cursor_x,
return j;
}
}
return j;
}
}
- if( display_format == LISTBOX_ICONS ) return -1;
- } // fall through
+ return -1; }
case LISTBOX_TEXT:
if( !gui ) break;
// Text is treed
case LISTBOX_TEXT:
if( !gui ) break;
// Text is treed
diff --git
a/cinelerra-5.1/guicast/vicon.C
b/cinelerra-5.1/guicast/vicon.C
index 1f80bc470c40799c84067557e1938ba769ff4591..d726265030e57ffb1c13adf536c9f193f3a8553e 100644
(file)
--- a/
cinelerra-5.1/guicast/vicon.C
+++ b/
cinelerra-5.1/guicast/vicon.C
@@
-43,6
+43,8
@@
add_image(VFrame *frm, int ww, int hh, int vcmdl)
void VIcon::
draw_vframe(VIconThread *vt, BC_WindowBase *wdw, int x, int y)
{
void VIcon::
draw_vframe(VIconThread *vt, BC_WindowBase *wdw, int x, int y)
{
+ VFrame *vfrm = frame();
+ if( !vfrm ) return;
int sx0 = 0, sx1 = sx0 + vt->view_w;
int sy0 = 0, sy1 = sy0 + vt->view_h;
int dx0 = x, dx1 = dx0 + vw;
int sx0 = 0, sx1 = sx0 + vt->view_w;
int sy0 = 0, sy1 = sy0 + vt->view_h;
int dx0 = x, dx1 = dx0 + vw;
@@
-54,7
+56,7
@@
draw_vframe(VIconThread *vt, BC_WindowBase *wdw, int x, int y)
int sw = sx1 - sx0, sh = sy1 - sy0;
int dw = dx1 - dx0, dh = dy1 - dy0;
if( dw > 0 && dh > 0 && sw > 0 && sh > 0 )
int sw = sx1 - sx0, sh = sy1 - sy0;
int dw = dx1 - dx0, dh = dy1 - dy0;
if( dw > 0 && dh > 0 && sw > 0 && sh > 0 )
- wdw->draw_vframe(
frame()
, dx0,dy0, dw,dh, sx0,sy0, sw,sh);
+ wdw->draw_vframe(
vfrm
, dx0,dy0, dw,dh, sx0,sy0, sw,sh);
}
void VIconThread::
}
void VIconThread::
@@
-184,6
+186,7
@@
ViewPopup::~ViewPopup()
void ViewPopup::draw_vframe(VFrame *frame)
{
void ViewPopup::draw_vframe(VFrame *frame)
{
+ if( !frame ) return;
BC_WindowBase::draw_vframe(frame, 0,0, get_w(),get_h());
}
BC_WindowBase::draw_vframe(frame, 0,0, get_w(),get_h());
}
diff --git
a/cinelerra-5.1/libzmpeg3/audio/layer3.C
b/cinelerra-5.1/libzmpeg3/audio/layer3.C
index 984bb053609bc1d7d92f2ea955734a3ab17d0dc5..b0eb290976dd8009cf7913798e37c8c1ac35d2c7 100644
(file)
--- a/
cinelerra-5.1/libzmpeg3/audio/layer3.C
+++ b/
cinelerra-5.1/libzmpeg3/audio/layer3.C
@@
-791,7
+791,7
@@
do_layer3(uint8_t *zframe, int zframe_size, float **zoutput, int render)
//zmsg(" 7\n");
/* Step back */
if( sideinfo.main_data_begin >= 512 ) return output_offset;
//zmsg(" 7\n");
/* Step back */
if( sideinfo.main_data_begin >= 512 ) return output_offset;
- if( sideinfo.main_data_begin ) {
+// if( sideinfo.main_data_begin ) { /* apparently, zero is legal */
prev_len = sideinfo.main_data_begin;
uint8_t *prev = prev_bsbuf + prev_framesize - prev_len;
//zmsgs(" 7 %ld %d %ld\n", ssize, sideinfo.main_data_begin, prev_framesize);
prev_len = sideinfo.main_data_begin;
uint8_t *prev = prev_bsbuf + prev_framesize - prev_len;
//zmsgs(" 7 %ld %d %ld\n", ssize, sideinfo.main_data_begin, prev_framesize);
@@
-799,7
+799,7
@@
do_layer3(uint8_t *zframe, int zframe_size, float **zoutput, int render)
memcpy(ptr, prev, prev_len);
past_framesize += prev_framesize;
}
memcpy(ptr, prev, prev_len);
past_framesize += prev_framesize;
}
-
}
+
//
}
if( ptr && past_framesize >= prev_len ) {
stream->use_ptr(ptr);
for( gr=0; gr<granules; ++gr ) {
if( ptr && past_framesize >= prev_len ) {
stream->use_ptr(ptr);
for( gr=0; gr<granules; ++gr ) {