Skip to content

Commit 32fcd0a

Browse files
authored
Merge pull request #95 from ksvc/v4.0.4
update to v4.0.4
2 parents 35fcb84 + 6e94c54 commit 32fcd0a

35 files changed

+3501
-129
lines changed

demo/src/com/ksyun/media/streamer/demo/CameraActivity.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,11 @@ protected void onCreate(Bundle savedInstanceState) {
218218
mPrintDebugInfo = bundle.getBoolean(SHOW_DEBUGINFO, false);
219219
}
220220
mStreamer.setDisplayPreview(mCameraPreviewView);
221+
//if (mIsLandscape) {
222+
// mStreamer.setOffscreenPreview(1280, 720);
223+
//} else {
224+
// mStreamer.setOffscreenPreview(720, 1280);
225+
//}
221226
mStreamer.setEnableStreamStatModule(true);
222227
mStreamer.enableDebugLog(true);
223228
mStreamer.setFrontCameraMirror(mFrontMirrorCheckBox.isChecked());
@@ -241,6 +246,11 @@ public void onError(ImgTexFilterBase filter, int errno) {
241246
}
242247
});
243248

249+
// add RGBA buffer filter to ImgTexFilterMgt, this would cause performance drop,
250+
// only valid after Android 4.4
251+
//RGBABufDemoFilter demoFilter = new RGBABufDemoFilter(mStreamer.getGLRender());
252+
//mStreamer.getImgTexFilterMgt().setExtraFilter(demoFilter);
253+
244254
// touch focus and zoom support
245255
CameraTouchHelper cameraTouchHelper = new CameraTouchHelper();
246256
cameraTouchHelper.setCameraCapture(mStreamer.getCameraCapture());
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.ksyun.media.streamer.demo;
2+
3+
import android.util.Log;
4+
5+
import com.ksyun.media.streamer.filter.imgtex.RGBABufFilter;
6+
import com.ksyun.media.streamer.util.gles.GLRender;
7+
8+
import java.nio.ByteBuffer;
9+
10+
/**
11+
* Demo filter to handle RBGA buffer in gpu pipe.
12+
*/
13+
14+
public class RGBABufDemoFilter extends RGBABufFilter {
15+
private static final String TAG = "RGBABufDemoFilter";
16+
17+
public RGBABufDemoFilter(GLRender glRender) {
18+
super(glRender);
19+
}
20+
21+
@Override
22+
protected void onSizeChanged(int stride, int width, int height) {
23+
Log.d(TAG, "onSizeChanged " + stride + " " + width + "x" + height);
24+
// do nothing.
25+
}
26+
27+
@Override
28+
protected ByteBuffer doFilter(ByteBuffer buffer, int stride, int width, int height) {
29+
Log.d(TAG, "doFilter " + buffer + " " + stride + " " + width + "x" + height);
30+
// handle buffer here
31+
return buffer;
32+
}
33+
}

docs/assets/navtree_data.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/classes.html

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -439,150 +439,156 @@ <h2 id="letter_I">I</h2>
439439

440440

441441
<tr class=" api apilevel-" >
442+
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/IImgTexFilter.html">IImgTexFilter</a></td>
443+
<td class="jd-descrcol" width="100%">ImgTexFilter interface.&nbsp;</td>
444+
</tr>
445+
446+
447+
<tr class="alt-color api apilevel-" >
442448
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautyDenoiseFilter.html">ImgBeautyDenoiseFilter</a></td>
443449
<td class="jd-descrcol" width="100%">Beauty Denoise filter.&nbsp;</td>
444450
</tr>
445451

446452

447-
<tr class="alt-color api apilevel-" >
453+
<tr class=" api apilevel-" >
448454
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautyIllusionFilter.html">ImgBeautyIllusionFilter</a></td>
449455
<td class="jd-descrcol" width="100%">Beauty illusion filter.&nbsp;</td>
450456
</tr>
451457

452458

453-
<tr class=" api apilevel-" >
459+
<tr class="alt-color api apilevel-" >
454460
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautySkinWhitenFilter.html">ImgBeautySkinWhitenFilter</a></td>
455461
<td class="jd-descrcol" width="100%">Beauty skin whiten filter.&nbsp;</td>
456462
</tr>
457463

458464

459-
<tr class="alt-color api apilevel-" >
465+
<tr class=" api apilevel-" >
460466
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautySmoothFilter.html">ImgBeautySmoothFilter</a></td>
461467
<td class="jd-descrcol" width="100%">Beauty smooth filter.&nbsp;</td>
462468
</tr>
463469

464470

465-
<tr class=" api apilevel-" >
471+
<tr class="alt-color api apilevel-" >
466472
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautySoftExtFilter.html">ImgBeautySoftExtFilter</a></td>
467473
<td class="jd-descrcol" width="100%">Beauty SoftExt filter.&nbsp;</td>
468474
</tr>
469475

470476

471-
<tr class="alt-color api apilevel-" >
477+
<tr class=" api apilevel-" >
472478
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautySoftFilter.html">ImgBeautySoftFilter</a></td>
473479
<td class="jd-descrcol" width="100%">Beauty Soft filter.&nbsp;</td>
474480
</tr>
475481

476482

477-
<tr class=" api apilevel-" >
483+
<tr class="alt-color api apilevel-" >
478484
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgBeautySoftSharpenFilter.html">ImgBeautySoftSharpenFilter</a></td>
479485
<td class="jd-descrcol" width="100%">Beauty soft sharpen filter
480486
&nbsp;</td>
481487
</tr>
482488

483489

484-
<tr class="alt-color api apilevel-" >
490+
<tr class=" api apilevel-" >
485491
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgbuf/ImgBufBeautyFilter.html">ImgBufBeautyFilter</a></td>
486492
<td class="jd-descrcol" width="100%">Denoise beauty filter running on cpu.&nbsp;</td>
487493
</tr>
488494

489495

490-
<tr class=" api apilevel-" >
496+
<tr class="alt-color api apilevel-" >
491497
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgbuf/ImgBufFilterBase.html">ImgBufFilterBase</a></td>
492498
<td class="jd-descrcol" width="100%">Base class of video filters running on cpu,
493499
with multi or one input pins and one output pin.&nbsp;</td>
494500
</tr>
495501

496502

497-
<tr class="alt-color api apilevel-" >
503+
<tr class=" api apilevel-" >
498504
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/framework/ImgBufFormat.html">ImgBufFormat</a></td>
499505
<td class="jd-descrcol" width="100%">Image format for ImgBufFrame.&nbsp;</td>
500506
</tr>
501507

502508

503-
<tr class=" api apilevel-" >
509+
<tr class="alt-color api apilevel-" >
504510
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/framework/ImgBufFrame.html">ImgBufFrame</a></td>
505511
<td class="jd-descrcol" width="100%">Image buffer frame definition
506512
&nbsp;</td>
507513
</tr>
508514

509515

510-
<tr class="alt-color api apilevel-" >
516+
<tr class=" api apilevel-" >
511517
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgbuf/ImgBufMixer.html">ImgBufMixer</a></td>
512518
<td class="jd-descrcol" width="100%">Video frame mixer running on cpu.&nbsp;</td>
513519
</tr>
514520

515521

516-
<tr class=" api apilevel-" >
522+
<tr class="alt-color api apilevel-" >
517523
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgbuf/ImgBufScaleFilter.html">ImgBufScaleFilter</a></td>
518524
<td class="jd-descrcol" width="100%">Cpu filter to crop, rotate, scale and mirror input frame.&nbsp;</td>
519525
</tr>
520526

521527

522-
<tr class="alt-color api apilevel-" >
528+
<tr class=" api apilevel-" >
523529
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/capture/ImgBufSrcPin.html">ImgBufSrcPin</a></td>
524530
<td class="jd-descrcol" width="100%">Convert Bitmap to ImgBufFrame.&nbsp;</td>
525531
</tr>
526532

527533

528-
<tr class=" api apilevel-" >
534+
<tr class="alt-color api apilevel-" >
529535
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgTexFilter.html">ImgTexFilter</a></td>
530536
<td class="jd-descrcol" width="100%">Base class of filters implement by openGLES with default shader.&nbsp;</td>
531537
</tr>
532538

533539

534-
<tr class="alt-color api apilevel-" >
540+
<tr class=" api apilevel-" >
535541
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgTexFilterBase.html">ImgTexFilterBase</a></td>
536542
<td class="jd-descrcol" width="100%">The base class of all gpu filters.&nbsp;</td>
537543
</tr>
538544

539545

540-
<tr class=" api apilevel-" >
546+
<tr class="alt-color api apilevel-" >
541547
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgTexFilterBase.OnErrorListener.html">ImgTexFilterBase.OnErrorListener</a></td>
542548
<td class="jd-descrcol" width="100%">&nbsp;</td>
543549
</tr>
544550

545551

546-
<tr class="alt-color api apilevel-" >
552+
<tr class=" api apilevel-" >
547553
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgTexFilterMgt.html">ImgTexFilterMgt</a></td>
548554
<td class="jd-descrcol" width="100%">ImgTexFilter manager for convenient use.&nbsp;</td>
549555
</tr>
550556

551557

552-
<tr class=" api apilevel-" >
558+
<tr class="alt-color api apilevel-" >
553559
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/framework/ImgTexFormat.html">ImgTexFormat</a></td>
554560
<td class="jd-descrcol" width="100%">Image texture format definition.&nbsp;</td>
555561
</tr>
556562

557563

558-
<tr class="alt-color api apilevel-" >
564+
<tr class=" api apilevel-" >
559565
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/framework/ImgTexFrame.html">ImgTexFrame</a></td>
560566
<td class="jd-descrcol" width="100%">Image texture frame definition.&nbsp;</td>
561567
</tr>
562568

563569

564-
<tr class=" api apilevel-" >
570+
<tr class="alt-color api apilevel-" >
565571
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgTexMixer.html">ImgTexMixer</a></td>
566572
<td class="jd-descrcol" width="100%">Video frame mixer with openGLES.&nbsp;</td>
567573
</tr>
568574

569575

570-
<tr class="alt-color api apilevel-" >
576+
<tr class=" api apilevel-" >
571577
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/ImgTexScaleFilter.html">ImgTexScaleFilter</a></td>
572578
<td class="jd-descrcol" width="100%">Gpu image filter to rotate/crop/scale video frame,
573579
and covert image format to RGBA if needed.&nbsp;</td>
574580
</tr>
575581

576582

577-
<tr class=" api apilevel-" >
583+
<tr class="alt-color api apilevel-" >
578584
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/capture/ImgTexSrcPin.html">ImgTexSrcPin</a></td>
579585
<td class="jd-descrcol" width="100%">Convert bitmap image to ImgTexFrame.&nbsp;</td>
580586
</tr>
581587

582588

583-
<tr class="alt-color api apilevel-" >
589+
<tr class=" api apilevel-" >
584590
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/encoder/ImgTexToBuf.html">ImgTexToBuf</a></td>
585-
<td class="jd-descrcol" width="100%">Get I420 buffer from texture.&nbsp;</td>
591+
<td class="jd-descrcol" width="100%">Get I420/RGBA buffer from texture.&nbsp;</td>
586592
</tr>
587593

588594

@@ -759,19 +765,25 @@ <h2 id="letter_R">R</h2>
759765

760766

761767
<tr class=" api apilevel-" >
768+
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/filter/imgtex/RGBABufFilter.html">RGBABufFilter</a></td>
769+
<td class="jd-descrcol" width="100%">RGBA buffer filter inserted in gpu pipe.&nbsp;</td>
770+
</tr>
771+
772+
773+
<tr class="alt-color api apilevel-" >
762774
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/publisher/RtmpPublisher.html">RtmpPublisher</a></td>
763775
<td class="jd-descrcol" width="100%">Rtmp publish module
764776
&nbsp;</td>
765777
</tr>
766778

767779

768-
<tr class="alt-color api apilevel-" >
780+
<tr class=" api apilevel-" >
769781
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/publisher/RtmpPublisher.BwEstConfig.html">RtmpPublisher.BwEstConfig</a></td>
770782
<td class="jd-descrcol" width="100%">&nbsp;</td>
771783
</tr>
772784

773785

774-
<tr class=" api apilevel-" >
786+
<tr class="alt-color api apilevel-" >
775787
<td class="jd-linkcol"><a href="./com/ksyun/media/streamer/publisher/RtmpPublisher.RtmpPubListener.html">RtmpPublisher.RtmpPubListener</a></td>
776788
<td class="jd-descrcol" width="100%">&nbsp;</td>
777789
</tr>

0 commit comments

Comments
 (0)