diff --git a/ijkmedia/ijkplayer/ff_ffplay.c b/ijkmedia/ijkplayer/ff_ffplay.c index 8ea99e4bb5e058d643d91bdee7bdc1cfb536518d..012ca03c43d878b96b34418d46db4d7fe3cc287f 100755 --- a/ijkmedia/ijkplayer/ff_ffplay.c +++ b/ijkmedia/ijkplayer/ff_ffplay.c @@ -706,9 +706,11 @@ static int decoder_decode_frame(FFPlayer *ffp, Decoder *d, AVFrame *frame, AVSub } else if (!ffp->decoder_reorder_pts) { frame->pts = frame->pkt_dts; } + #if defined (__ANDROID__) ffp_frame_lock(ffp); ffp->current_frame = frame; ffp_frame_unlock(ffp); + #endif //add for flutter #if !defined (__ANDROID__) ffp_pixelbuffer_lock(ffp); @@ -1814,7 +1816,7 @@ static int queue_picture(FFPlayer *ffp, AVFrame *src_frame, double pts, double d ffp_pixelbuffer_lock(ffp); ffp->szt_pixelbuffer = SDL_VoutOverlayVideoToolBox_GetCVPixelBufferRef(vp->bmp); // picture->opaque; ffp_pixelbuffer_unlock(ffp); - + if (!ffp->szt_pixelbuffer) { ALOGE("nil pixelBuffer in overlay\n"); } diff --git a/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj b/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj index ad6c84104c64bd87b80884dc24b9bdce0c92126a..9fc5c52a1db714518090c8e165b988102c8a67b5 100755 --- a/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj +++ b/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj @@ -50,6 +50,13 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 52FBEA7C241E96B9005DA46C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E6D74F2918A5F94B00165BFD /* IJKMediaPlayer.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 5450B0431E63EA4300568494; + remoteInfo = IJKMediaFrameworkWithSSL; + }; E654EAD61B6B28B100B0F2D0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = E6D74F2918A5F94B00165BFD /* IJKMediaPlayer.xcodeproj */; @@ -274,6 +281,7 @@ isa = PBXGroup; children = ( E654EAD71B6B28B100B0F2D0 /* IJKMediaFramework.framework */, + 52FBEA7D241E96B9005DA46C /* IJKMediaFrameworkWithSSL.framework */, E654EAD91B6B28B100B0F2D0 /* IJKMediaFrameworkTests.xctest */, ); name = Products; @@ -309,12 +317,18 @@ CLASSPREFIX = IJK; LastUpgradeCheck = 0700; ORGANIZATIONNAME = bilibili; + TargetAttributes = { + E6903EFB17EAF70200CFD954 = { + DevelopmentTeam = 344756CAN4; + }; + }; }; buildConfigurationList = E6903EF717EAF70200CFD954 /* Build configuration list for PBXProject "IJKMediaDemo" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, ); mainGroup = E6903EF317EAF70200CFD954; @@ -334,6 +348,13 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ + 52FBEA7D241E96B9005DA46C /* IJKMediaFrameworkWithSSL.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = IJKMediaFrameworkWithSSL.framework; + remoteRef = 52FBEA7C241E96B9005DA46C /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; E654EAD71B6B28B100B0F2D0 /* IJKMediaFramework.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; @@ -481,12 +502,13 @@ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = 344756CAN4; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "IJKMediaDemo/IJKMediaDemo-Prefix.pch"; INFOPLIST_FILE = "IJKMediaDemo/IJKMediaDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_BUNDLE_IDENTIFIER = tv.danmaku.IJKMediaDemo.flutterijk; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = 1; @@ -501,12 +523,13 @@ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = 344756CAN4; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "IJKMediaDemo/IJKMediaDemo-Prefix.pch"; INFOPLIST_FILE = "IJKMediaDemo/IJKMediaDemo-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_BUNDLE_IDENTIFIER = tv.danmaku.IJKMediaDemo.flutterijk; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = 1; diff --git a/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/xcshareddata/xcschemes/IJKMediaFrameworkWithSSL.xcscheme b/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/xcshareddata/xcschemes/IJKMediaFrameworkWithSSL.xcscheme deleted file mode 100755 index 693b3547120947587d7c4deb339661eb23feae13..0000000000000000000000000000000000000000 --- a/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/xcshareddata/xcschemes/IJKMediaFrameworkWithSSL.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_vout_overlay_videotoolbox.m b/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_vout_overlay_videotoolbox.m index 5793ff6e8bfa8a74ec220a8f7fac3f5c7e2ec299..1f2ced69d02a20624cb2196b18fb9857c42b68c3 100755 --- a/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_vout_overlay_videotoolbox.m +++ b/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_vout_overlay_videotoolbox.m @@ -74,7 +74,8 @@ static void func_unref(SDL_VoutOverlay *overlay) return; } - CVBufferRelease(opaque->pixel_buffer); + // modify for flutter, the CVBuffer will be release by FlutterIJK +// CVBufferRelease(opaque->pixel_buffer); opaque->pixel_buffer = NULL; overlay->pixels[0] = NULL;